读书人

[转]MySQL 中 时间跟日期函数

发布时间: 2012-07-25 09:43:06 作者: rapoo

[转]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:

读书人网 >Mysql

热点推荐