MySQL中SYSDATE和NOW的区别

MySQL中SYSDATE和NOW的区别,第1张

MySQL获得当前日期+时间(date + time)函数sysdate() :

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 秒。MySQL Manual 中是这样描述 sysdate() 的:Return the time at which the function executes。

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

1.sysdate() 返回的是sysdate()函数被调用时的时间,now()返回的是整条sql语句开始执行时的时间

2.SET TIMESTAMP语句可以影响now()的返回值,却不会影响到sysdate()


欢迎分享,转载请注明来源:内存溢出

原文地址: https://outofmemory.cn/zaji/7379498.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-05
下一篇 2023-04-05

发表评论

登录后才能评论

评论列表(0条)

保存