MySQL获取时间及日期的函数--sysdate() 和now()区别

在MySQL中,使用sysdate() 函数,可以获取时间及日期的,但是和now()函数还是有所区别,淫威sysdate()在函数执行时动态得到值,而now() 在执行开始时值就得到了。

AD:

如果需要让MySQL获取时间和日期,使用何种函数好呢?使用sysdate() 函数就可以让MySQL 获取时间和日期,下面就让我们来了解该函数。

MySQL获得当前日期+时间(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() 日期时间函数,一般情况下很少用到。

############补充###################

另外curdate() 就是获取当天时间到天

获取前一天的时间date_sub(curdate(),interval 1 day)

猜你喜欢

转载自corwen.iteye.com/blog/1485381