首页 > 数据库 >mysql 获取系统当前时间的3种方式

mysql 获取系统当前时间的3种方式

时间:2023-02-14 10:03:30浏览次数:46  
标签:类型 DEFAULT CURRENT 获取 日期 当前 mysql date NULL

1.获取系统当前日期+时间

方式一:now()

mysql 获取系统当前时间的3种方式_当前日期

方式二:sysdate()

mysql 获取系统当前时间的3种方式_当前日期_02

以上两种方式,对应日期类型:datetime。

方式三:CURRENT_TIMESTAMP()/CURRENT_TIMESTAMP

mysql 获取系统当前时间的3种方式_当前日期_03

对应日期类型:timestamp。

方式四:to_days()

mysql 获取系统当前时间的3种方式_mysql_04

说明:这四种方式,对于大小写都不敏感。

2.获取系统当前日期

CURRENT_DATE()/CURRENT_DATE

mysql 获取系统当前时间的3种方式_数据_05

对应日期类型:date。

3.获取系统当前时间

CURRENT_TIME()/CURRENT_TIME

mysql 获取系统当前时间的3种方式_mysql_06

对应日期类型:time。

4.获取系统当前年份

year(date)

mysql 获取系统当前时间的3种方式_数据_07

5.获取系统当前月份

MONTH(NOW())

mysql 获取系统当前时间的3种方式_mysql_08

或者

DATE_FORMAT(CURRENT_DATE(),'%Y%m')

mysql 获取系统当前时间的3种方式_当前日期_09

6.获取系统当前季度

QUARTER(NOW())

mysql 获取系统当前时间的3种方式_数据_10

7.获取系统当前周

YEARWEEK(now())

mysql 获取系统当前时间的3种方式_mysql_11

8.获取系统当前天数

DAY(date)

mysql 获取系统当前时间的3种方式_当前日期_12

8.mysql常用日期类型

以java格式化日期的语法为例,进行说明

datetime(推荐使用):日期+时间,表现形式为:yyyy-MM-dd HH:mm:ss,占用8个字节;

当指定位数时,表示毫秒数的保留位数,如:datetime(6),代表的就是6位毫秒数字。

date:日期,表现形式为:yyyy-MM-dd

time:时间,表现形式为:HH:mm:ss

timestamp:时间戳,表现形式为:yyyy-MM-dd HH:mm:ss,一般占用4个字节,其实际存储的内容为‘​​1970-01-01 00:00:00​​’到现在的毫秒数;

在 MySQL 中,由于类型 ​​TIMESTAMP​​​ 占用 4 个字节,因此其存储的时间上限只能到‘​​2038-01-19 03:14:07​​’;

当带有毫秒数时,占用7个字节,同样地,当指定位数时,表示毫秒数的保留位数,如:timestamp(6),代表的就是6位毫秒数字;

可以带有时区属性。

year:年份,表现形式为:yyyy

说明:

以前的展现形式,在Navicat当中的日期类型的默认展现形式,日期类型的显示形式,我们可以进行自主设置或修改。

另外,大范围的日期类型,可以插进小范围的日期类型当中,并且,只保留小类型的日期格式。 

举例说明:

创建一个存储日期类型的表;

查看代码

CREATE TABLE `date_demo` (
`id` int(11) NOT NULL AUTO_INCREMENT,
`date1` date DEFAULT NULL,
`datetime1` datetime DEFAULT NULL,
`time1` time DEFAULT NULL,
`timestamp1` timestamp NULL DEFAULT NULL,
`year1` year(4) DEFAULT NULL,
PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=2 DEFAULT CHARSET=utf8mb4 COLLATE=utf8mb4_unicode_ci

mysql 获取系统当前时间的3种方式_当前日期_13

insert into date_demo (date1,datetime1,time1,timestamp1,year1) values (now(), sysdate(),CURRENT_TIME(),CURRENT_TIMESTAMP(),CURRENT_DATE())

mysql 获取系统当前时间的3种方式_当前日期_14

 

我们可以看到:当插入的数据的日期范围>对应的时间字段时,并不报错,而且插入的数据也符合对应的字段类型。 

写在最后

  哪位大佬如若发现文章存在纰漏之处或需要补充更多内容,欢迎留言!!!



作者:Marydon

标签:类型,DEFAULT,CURRENT,获取,日期,当前,mysql,date,NULL
From: https://blog.51cto.com/u_15964717/6055560

相关文章

  • mysql、oracle like查询不走索引的解决方案
    1.情景展示我们知道:无论是mysql还是oracle,只要使用like查询,就可能会面临索引失效(不走索引)的问题;下面,我们将一起来看看什么情况下,索引会失效,以及如何解决不走索引的问题。已......
  • mysql 非空判断(判断字段值是否为空)
    1.情景展示mysql如何判断表字段值是否为空?2.非空判断方式一:表字段+isnotnull方式二:notisnull(表字段)方式三:!isnull(表字段)3.为空判断方式一:表字段+isnull方式二:is......
  • mysql 循环批量建表(表结构相同,表名可以自定义)
    1.情景展示现在有这样一种需求:我需要建两百多张表,这些表的表结构相同,表的名称也是提前拟定好的,必须使用指定的表名;如果使用一个个写SQL语句,那不还得累死,所以,我想到了可不可......
  • mysql limit分页用法讲解
    1.情景展示在Oracle当中,使用rownum来进行分页;而在mysql中,是没有rownum的,需要通过limit来实现。2.用法介绍limit[offset,]rowslimit后面可以跟一个参数,也可以跟两个参数;格式......
  • mysql、oracle 分组查询,每组取一条数据
    1.情景展示有这样一种需求:将数据按照机构进行分组,然后取每个机构下只取一条记录,如何实现?2.mysql分组查询出来某字段,然后和原来的表进行关联查询。方式一:通过内连接来实现查......
  • python +高德 +批量获取经纬度
    importjsonfromurllib.requestimporturlopenfromurllib.parseimportquoteimportopenpyxl#定义函数defGetlngat(address):url='https://restapi.......
  • MySQL 8.0 修改root远程登录【ERROR 1410 (42000): You are not allowed to create a
    MySQL8.0的数据库root用户默认无法远程登录,需要修改root的远程授权,如下:mysql>grantallprivilegeson*.*to'root'@'%';ERROR1410(42000):Youarenotallowed......
  • (数据库系统概论|王珊)第三章关系数据库标准语言SQL-第零节:MYSQL环境安装和表的建立以及
    pdf下载:密码7281专栏目录首页:【专栏必读】(考研复试)数据库系统概论第五版(王珊)专栏学习笔记目录导航及课后习题答案详解目录一:注意事项二:MYSQL环境(1)下载(2)安装(3)MYSQL可视......
  • mysql 创建库和表
    数据库创建数据库查看数据库删除数据库数据表创建表查看表删除表清除表数据数据库创建数据库语法CREATEDATABASE[IFNOTEXISTS]<数据库名>[[DEFA......
  • MySQL基础
    基础篇通用语法及分类DDL:数据定义语言,用来定义数据库对象(数据库、表、字段)DML:数据操作语言,用来对数据库表中的数据进行增删改DQL:数据查询语言,用来查询数据库中......