mysql 获取当前的时间戳

1.获取系统当前时间,类型:timestamp 格式yyyy-MM-dd HH:mm:ss

select NOW(),CURRENT_TIMESTAMP(),SYSDATE();

结果:

三者基本没有区别,稍微一点的区别在于:NOW(),CURRENT_TIMESTAMP()都表示SQL开始执行的时间;SYSDATE()表示执行此SQL时的当前时间

select NOW(),CURRENT_TIMESTAMP(),SYSDATE(),SLEEP(2),NOW(),CURRENT_TIMESTAMP(),SYSDATE();

结果:sleep(2)表示等待2s再执行,从结果可以看出SYSDATE在中断前后则相差了2秒;NOW(),CURRENT_TIMESTAMP()完全没区别

2.获取系统当前时间的时间戳,类型:long 单位:s

select unix_timestamp(NOW()),
       unix_timestamp(CURRENT_TIMESTAMP()),
       unix_timestamp(SYSDATE());

结果:

此时时间精度是s,也可以增加精度,给函数加上参数,表示s后面的小数位数,例如参数3,此时为ms

select unix_timestamp(NOW(3)),
       unix_timestamp(CURRENT_TIMESTAMP(3)),
       unix_timestamp(SYSDATE(3));

结果:

如果直接输出毫秒单位的时间戳,就是去掉上面中间的小数点,可以借助replace函数

replace函数的用法:replace(object, search,replace),简单解释就是:把object中出现search的全部替换为replace,例如:select replace('www.163.com','w','Ww')--->WwWwWw.163.com

select REPLACE(unix_timestamp(NOW(3)), '.', ''),
       REPLACE(unix_timestamp(CURRENT_TIMESTAMP(3)), '.', ''),
       REPLACE(unix_timestamp(SYSDATE(3)), '.', '');

结果:


版权声明:本文为smile_YangYue原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。