今天在修改mysql的脚本过程中,发现脚本中包含sysdate()和now(),心想都是返回时间,有何不同呢?出于好奇,于是亲身对比了一下。

select NOW() from dual;

select SYSDATE() from dual;


结果是完全一样的

wKiom1Ph8dSD40nSAABAvqcEnsI215.jpg

wKioL1Ph8u6jvaUiAABBQPozDc8861.jpg

select NOW(),Sleep(2),NOW(),Sleep(2),NOW() from dual;

select SYSDATE(),Sleep(2),SYSDATE(),Sleep(2),SYSDATE() from dual;


在比较一下结果,对比很明显

wKiom1Ph8jrgmy2uAACcS7j1oxU734.jpg

wKioL1Ph81jwsfVyAACYTfz4GLc800.jpg

这样就明白了:

now()是记录该条语句开始执行的时间

sysdate()是记录系统当前时间


以后根据情况,具体采用是应该使用sysdate()还是now()