MySQL中SYSDATE和NOW的区别

sysdate() 日期时间函数跟 now() 类似,不同之处在于:now() 在执行开始时值就得到了, sysdate() 在函数执行时动态得到值。

mysql> select now(), sleep(3), now();

+---------------------+----------+---------------------+ 

| now() | sleep(3) | now() | 

+---------------------+----------+---------------------+ 

| 2015-04-12 16:00:00 | 0 | 2015-04-12 16:00:00 | 

+---------------------+----------+---------------------+

mysql> select sysdate(), sleep(3), sysdate();

+---------------------+----------+---------------------+ 

| sysdate() | sleep(3) | sysdate() | 

+---------------------+----------+---------------------+ 

| 2015-04-12 16:01:16 | 0 | 2015-04-12 16:01:19 | 

+---------------------+----------+---------------------+ 

可以看到,虽然中途 sleep 3 秒,但 now() 函数两次的时间值是相同的; sysdate() 函数两次得到的时间值相差 3 秒。

sysdate() 日期时间函数,一般情况下很少用到。

猜你喜欢

转载自guwq2014.iteye.com/blog/2316183