MySQL那些与日期和时间相关的函数
2012年09月24日00:05 it168网站原创作者:姜承尧编辑:王玉圆评论:0条
【IT168 技术】日期函数可能是比较常使用的一种函数。下面介绍一些最为常用的日期函数及一些容易忽略的问题。
1. NOW、CURRENT_TIMESTAMP和SYSDATE
这些函数都能返回当前的系统时间,它们之间有区别吗?先来看个例子。
mysql> SELECT NOW(),CURRENT_TIMESTAMP(),SYSDATE()\G;
*************************** 1. row ***************************
NOW(): 2011-02-0420:35:04
CURRENT_TIMESTAMP(): 2011-02-0420:35:04
SYSDATE(): 2011-02-0420:35:04
从上面的例子看来,3个函数都是返回当前的系统时间,再来看下面这个例子:
mysql>SELECT
-> NOW(),
-> CURRENT_TIMESTAMP(),
-> SYSDATE(),
-> SLEEP(2),
-> NOW(),
-> CURRENT_TIMESTAMP(),
-> SYSDATE()\G
*************************** 1. row ***************************
NOW(): 2011-11-2921:04:49
CURRENT_TIMESTAMP(): 2011-11-2921:04:49
SYSDATE(): 2011-11-2921:04:49
SLEEP(2): 0
NOW(): 2011-11-2921:04:49
CURRENT_TIMESTAMP(): 2011-11-2921:04:49
SYSDATE(): 2011-11-2921:04:51
1 row in set (2.00 sec)
在上面这个例子中人为地加入了SLEEP函数,让其等待2秒,这时可以发现SYSDATE返回的时间和NOW及CURRENT_TIMESTAMP是不同的,SYSDATE函数慢了2秒。究其原因是这3个函数有略微区别:
CURRENT_TIMESTAMP是NOW的同义词,也就是说两者是相同的。