mysql如何比较时间
日期时间类型 占用空间 日期格式 最小值 最大值 零值表示 DATETIME 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 9999-12-31 2...
2024.11.15今天主要介绍一下mysql 中 时间函数now() current_timestamp() 和 sysdate() 以及三者之间的比较。
now()、current_timestamp() 和 sysdate()在mysql中有三个时间函数用来获取当前的时间,分别是now()、current_timestamp() 和 sysdate()
这三个函数都可以获得当前的时间,例如
select now(),current_timestamp(),sysdate() \G这里看起来是没有什么不同的,但是翻阅mysql官方的文档可以发现
CURRENT_TIMESTAMP and CURRENT_TIMESTAMP() are synonyms for NOW().
也就是说 CURRENT_TIMESTAMP和 CURRENT_TIMESTAMP()都是 NOW()这个函数的同义词,所以作用是一致的,而sysdate()函数的解释是
SYSDATE() returns the time at which it executes. This differs from the behavior for NOW(), which returns a constant time that indicates the time at which the statement began to execute. (Within a stored function or trigger, NOW() returns the time at which the function or triggering statement began to execute.)
简单来说,now()(current_timestamp())函数获得的是语句开始执行时的时间,而sysdate()函数是这个函数执行时候的时间。
实例使用sleep()函数延时,预期结果是延时前后now()函数对应的时间不变,sysdate()的时间等于之前的时间加上延时时间
select now(),current_timestamp(),sysdate(),sleep(5),now(),current_timestamp(),sysdate(),sleep(10),now(),current_timestamp(),sysdate() \G在上面这个例子因为人为加入了sleep函数,让其等待5秒和10秒,可以发现sysdate返回的函数跟其他是不一样的,究其原因是这3个函数的略微区别:
1) current_timestamp是now的同义词,也就是两者是相同的
2)sysdate函数返回执行当前函数的时间,而now返回执行SQL语句时的时间。所以两次执行sysdate函数返回不同的时间是因为第二次调用执行该函数时等待了前面SLEEP函数5秒,而对于now函数,不管在sleep之前还是之后执行,返回都是执行这条sql语句的时间。
觉得有用的朋友多帮忙转发哦!后面会分享更多devops和DBA方面的内容,感兴趣的朋友可以关注下~
日期时间类型 占用空间 日期格式 最小值 最大值 零值表示 DATETIME 8 bytes YYYY-MM-DD HH:MM:SS 1000-01-01 00:00:00 9999-12-31 2...
2024.11.15本文简单讲解我们在编写sql时会使用到的有关日期的sql写法:首先要介绍常用的日期类的函数,其次在根据函数来演示常见的日期操作的写法。以下函数或者关键字加0(+0)后会将日期时间、日期、时间、字符串转...
2024.11.14简介在MySQL查询数据的时候,我们一般都会选择查询一段时间的数据,这时候就涉及到时间的取值。MySQL带有一些函数可以让我们更轻松的获取对应的时间。时间函数1、NOW获取当前日期和时间的函数。语法:...
2024.11.15摘要:在Mysql数据库的管理与应用过程中,不可避免的需要接触到各种各样的数据类型,其中时间数据是最复杂多样的。为了满足各种各样的需求,需要定制不同的时间转换格式,有些会放到服务器程序上,通过代码实现...
2024.11.15简介在处理数据的时候,经常会在MySQL里面格式化时间进行统计。DATE_FORMAT() 函数用于以不同的格式显示日期/时间数据。用法select DATE_FORMAT(date,format) ...
2024.11.15