抓住时间1-在mysql数据库中获取当前日期时间

胖子没有夏天,英俊如我亦唯有时间。逝者如斯夫,不舍昼夜。

 


目录

1 抓不住的时间

2.1 获取当前日期时间NOW

2.2 获取日期CURDATE

2.3 获取时间CURTIME

3 如何选择

4 参考


1 抓不住的时间

是谁在说抓不住时间,看如何在MySql及其分支数据库里下获取当前时间。
Percona官网地址:http://www.percona.com/
Maridb官网地址:https://mariadb.org/

MySql处理日期和时间函数众多,简单介绍3类获取当前日期时间时常用函数:

  1. 查询开始时的当前时间戳. current_timestamp -> timestamp with time zone
  2. 查询开始时的当前日期.    current_date -> date
  3. 查询开始时的当前时间.    current_time -> time with time zone

2.1 获取当前日期时间NOW

表示当前日期时间的主要有NOW()和SYSDATE()
NOW()返回是语句开始执行的时间,SYSDATE()返回是动态实时时间。
在存储的函数或触发器中,NOW()返回函数或触发语句开始执行的时间。
NOW()在整个语句执行过程中都不会变化。
NOW()返回日期时间格式取决于数据库设置的时区。

SELECT NOW(2),SYSDATE(),SLEEP(2),NOW(2),SYSDATE()
# NOW(2)	                SYSDATE()	    SLEEP(2)	NOW(2)(1)	        SYSDATE()(1)
# 2020-06-06 17:52:08.89	2020-06-06 17:52:08	0	2020-06-06 17:52:08.89	2020-06-06 17:52:10

NOW()还有3个同义词,其写法形式与效果保持一致。
NOW(),NOW([precision])
LOCALTIME, LOCALTIME([precision])
LOCALTIMESTAMP,LOCALTIMESTAMP([precision])
CURRENT_TIMESTAMP,CURRENT_TIMESTAMP([precision])

SELECT NOW(),NOW(3)
UNION ALL
SELECT LOCALTIME,LOCALTIME(3)
UNION ALL
SELECT LOCALTIMESTAMP,LOCALTIMESTAMP(3)
UNION ALL
SELECT CURRENT_TIMESTAMP,CURRENT_TIMESTAMP(3)

#NOW()			NOW(3)
#2020-06-06 17:54:38	2020-06-06 17:54:38.927
#2020-06-06 17:54:38	2020-06-06 17:54:38.927
#2020-06-06 17:54:38	2020-06-06 17:54:38.927
#2020-06-06 17:54:38	2020-06-06 17:54:38.927

2.2 获取日期CURDATE

CURRENT_DATE and CURRENT_DATE() are synonyms for CURDATE().

SELECT CURDATE(),CURRENT_DATE,CURRENT_DATE(),CURRENT_DATE()+0
#CURDATE()	CURRENT_DATE	CURRENT_DATE()	CURRENT_DATE()+0
#2020-06-06	2020-06-06	2020-06-06	20200606

2.3 获取时间CURTIME

CURRENT_TIME and CURRENT_TIME() are synonyms for CURTIME().

SELECT CURTIME(),CURRENT_TIME,CURRENT_TIME(),CURRENT_TIME()+0
#CURTIME()	CURRENT_TIME	CURRENT_TIME()	CURRENT_TIME()+0
#17:37:14	17:37:14	17:37:14	173714

3 如何选择

3.1建表时选择类型
考虑自动初始化和自动更新的特性才范围很小的timestamp。知识增加
3.2 查询时选择函数NOW
在MySQL取当前时间的时候sysdate不会走索引,记得用NOW。
3.3为了在外行面前装逼用长度最大的CURRENT_TIMESTAMP。

4 参考

https://www.cnblogs.com/pcheng/p/6004679.html
https://blog.youkuaiyun.com/qq_21108311/article/details/83109296
https://mariadb.com/kb/en/current_timestamp/
https://dev.mysql.com/doc/refman/8.0/en/date-and-time-functions.html
https://mariadb.com/kb/en/now/
https://dev.mysql.com/doc/refman/8.0/en/timestamp-initialization.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值