[转]MySQL 中 时间和日期函数
源地址:http://www.cnblogs.com/redfox241/archive/2009/07/23/1529092.html
?
==========================================================================================
一、MySQL?获得当前日期时间?函数
1.1?获得当前日期+时间(date?+?time)函数:now()
mysql>?select?now();
+---------------------+
|?now()???????????????|
+---------------------+
|?2008-08-08?22:20:46?|
+---------------------+
除了?now()?函数能获得当前的日期时间外,MySQL?中还有下面的函数:
?current_timestamp()
,current_timestamp
,localtime()
,localtime
,localtimestamp????--?(v4.0.6)
,localtimestamp()??--?(v4.0.6)
这些日期时间函数,都等同于?now()。鉴于?now()?函数简短易记,建议总是使用?now()?来替代上面列出的函数。
1.2?获得当前日期+时间(date?+?time)函数:sysdate()
sysdate()?日期时间函数跟?now()?类似,不同之处在于:now()?在执行开始时值就得到了,?sysdate()?在函数执行时动态得到值。看下面的例子就明白了:
mysql>?select?now(),?sleep(3),?now();
+---------------------+----------+---------------------+
|?now()???????????????|?sleep(3)?|?now()???????????????|
+---------------------+----------+---------------------+
|?2008-08-08?22:28:21?|????????0?|?2008-08-08?22:28:21?|
+---------------------+----------+---------------------+
mysql>?select?sysdate(),?sleep(3),?sysdate();
+---------------------+----------+---------------------+
|?sysdate()???????????|?sleep(3)?|?sysdate()???????????|
+---------------------+----------+---------------------+
|?2008-08-08?22:28:41?|????????0?|?2008-08-08?22:28:44?|
+---------------------+----------+---------------------+
可以看到,虽然中途?sleep?3?秒,但?now()?函数两次的时间值是相同的;?sysdate()?函数两次得到的时间值相差?3?秒。MySQL?Manual?中是这样描述?sysdate()?的:Return?the?time?at?which?the?function?executes。
sysdate()?日期时间函数,一般情况下很少用到。
2.?获得当前日期(date)函数:curdate()
mysql>?select?curdate();
+------------+
|?curdate()??|
+------------+
|?2008-08-08?|
+------------+
其中,下面的两个日期函数等同于?curdate():
?current_date()
,current_date
3.?获得当前时间(time)函数:curtime()
mysql>?select?curtime();
+-----------+
|?curtime()?|
+-----------+
|?22:41:30??|
+-----------+
其中,下面的两个时间函数等同于?curtime():
?current_time()
,current_time
4.?获得当前?UTC?日期时间函数:utc_date(),?utc_time(),?utc_timestamp()
mysql>?select?utc_timestamp(),?utc_date(),?utc_time(),?now()
+---------------------+------------+------------+---------------------+
|?utc_timestamp()?????|?utc_date()?|?utc_time()?|?now()???????????????|
+---------------------+------------+------------+---------------------+
|?2008-08-08?14:47:11?|?2008-08-08?|?14:47:11???|?2008-; color: