MySQL中SYSDATE()、NOW()、CURRENT_TIMESTAMP、CURRENT_TIMESTAMP()之间的差异?

MySQL中SYSDATE()、NOW()、CURRENT_TIMESTAMP、CURRENT_TIMESTAMP()之间的差异?,mysql,database,Mysql,Database,据我所知 SYSDATE(), NOW(), CURRENT_TIMESTAMP, and CURRENT_TIMESTAMP() 在MySQL中,它们是彼此的同义词。它们都返回相同的值,那么为什么MySQL提供所有这些值呢?是否有不同的场景,我可以使用其中的特定场景 它们并不都是同义词 SYSDATE()。作为示范: 选择NOW()、SYSDATE()、SLEEP(5)、NOW()、SYSDATE() 输出可能如下所示: 2018-03-01 11:09:19 2018-03-01 11

据我所知

SYSDATE(),
NOW(),
CURRENT_TIMESTAMP, and
CURRENT_TIMESTAMP() 

在MySQL中,它们是彼此的同义词。它们都返回相同的值,那么为什么MySQL提供所有这些值呢?是否有不同的场景,我可以使用其中的特定场景

它们并不都是同义词

SYSDATE()。作为示范:

选择NOW()、SYSDATE()、SLEEP(5)、NOW()、SYSDATE()
输出可能如下所示:

2018-03-01 11:09:19 2018-03-01 11:09:19 2018-03-01 11:09:19 2018-03-01 11:09:24
因此,是的,在某些特定的场景中,您可能希望使用
SYSDATE()
,而不是
NOW()

MySQL确实提供了几个可以返回相同结果的函数

DATE(NOW())
vs

我怀疑这在很大程度上是因为希望通过更紧密地匹配(在可能和适当的情况下)Oracle、SQL Server等使用的函数名和语法,使从其他关系型DBMS的转换更容易。

阅读本文档后,得出以下结论:

NOW()
返回一个常量时间,指示语句开始执行的时间
NOW()
返回函数或触发语句开始执行的时间,但
SYSDATE()
返回函数或触发语句执行的确切时间


CURRENT\u TIMESTAMP
CURRENT\u TIMESTAMP()
NOW()的同义词

一切都在这里@Vipul hadiya:我的问题是为什么MySQL提供这样的同义词?请阅读我的完整问题。@Down投票者:提供适当的评论这个问题出了什么问题?请花些时间阅读,你会得到答案的answer@RaviJiyani当然不是要求别人为他做研究!