当前位置:首页 > MySQL

MySQL中SYSDATE()和NOW()的区别

canca9年前 (2017-08-05)MySQL453

MySQL中有5个函数需要计算当前时间的值:now(),sysdate(),curdate(),curtime(),unix_timestamp(); now()和sysdate()都是返回当前时间(形如 yyyy-mm-dd hh:mm:ss); curdate()返回当前时间的日期(形如 yyyy-mm-dd); curtime()返回当前时间(形如 hh:mm:ss) unix_timestam()返回当前时间的时间戳(形如 1464326059)

下面的sql是测试语句:

select now(),sysdate(),curdate(),curtime(),unix_timestamp();

下面是执行结果: 输入图片说明

sysdate()和其他4个函数都是返回当前时间的相关信息,除了本身定义所返回的区别以外,sysdate()是返回执行这个函数的时间,其他4个函数返回语句开始执行时间

sysdate()和now()返回格式相同,拿它们2个做比较体验一下上述说的区别: 下面是sql的测试语句:

select now(),sleep(2),now(); select sysdate(),sleep(2),sysdate();

下面是执行结果: 输入图片说明

可以发现now()2个时间是相同的,因为都是取的开始执行sql的时间; 而sysdate()的2个时间不同,因为取的是执行这个函数的时间,2个函数之间sleep了2秒,所以也就相差2秒了。

也正因为有这个区别,我们一般在执行语句的时候,都是用NOW(),因为SYSDATE获取当时实时的时间,这有可能导致主库和从库是执行的返回值是不一样的,导致主从数据不一致。

扫描二维码推送至手机访问。

版权声明:本文由Ant.Master's Blog发布,如需转载请注明出处。

本文链接:https://iant.work/post/16.html

标签: MySQL
分享给朋友:

“MySQL中SYSDATE()和NOW()的区别” 的相关文章

mysql 配置命令大全

--auto-rehash       Enable automatic rehashing. One doesn't need to use             …

mysql 外鍵約束

1. 什么是参照完整性?——————–参照完整性(完整性约束)是数据库设计中的一个重要概念,当数据库中的一个表与一个或多个表进行关联时都会涉及到参照完整性。比如下面这个例子:文章分类表 -  categoriescategory_id ...…

MySQl字段类型

MySQL支持大量的列类型,它可以被分为3类:数字类型、日期和时间类型以及字符串(字符)类型。本节首先给出可用类型的一个概述,并且总结每个列类型的存储需求,然后提供每个类中的类型性质的更详细的描述。概述有意简化,…

MySQL建立远程登陆用户

如果你想连接你的mysql的时候发生这个错误: ERROR 1130: Host '192.168.1.3' is not allowed to connect to this MySQL server 解决方法: 1. 改表法。可能是你的帐号不允许从远程登陆,只能在localhost。这个时候只要…

解决PHP存取MySQL 4.1乱码问题

从MySQL 4.1开始引入的多语言支持确实很棒,而且一些特性已经超过了其他的数据库系统。不过我在测试过程中发现使用适用于MySQL 4.1之前的PHP语句操作MySQL数据库会造成乱码,即使是设置过了表字符集也是如此。我读了一下新的M...…

MySQL备份与恢复语句

mysql备份语句:E:\MySQL Server 5.0\bin>mysqldump -uroot -padmin --default-character-set=utf8 --opt --extended-insert=false --triggers -R --hex-blob -x s…

发表评论

访客

◎欢迎参与讨论,请在这里发表您的看法和观点。