视频1 视频21 视频41 视频61 视频文章1 视频文章21 视频文章41 视频文章61 推荐1 推荐3 推荐5 推荐7 推荐9 推荐11 推荐13 推荐15 推荐17 推荐19 推荐21 推荐23 推荐25 推荐27 推荐29 推荐31 推荐33 推荐35 推荐37 推荐39 推荐41 推荐43 推荐45 推荐47 推荐49 关键词1 关键词101 关键词201 关键词301 关键词401 关键词501 关键词601 关键词701 关键词801 关键词901 关键词1001 关键词1101 关键词1201 关键词1301 关键词1401 关键词1501 关键词1601 关键词1701 关键词1801 关键词1901 视频扩展1 视频扩展6 视频扩展11 视频扩展16 文章1 文章201 文章401 文章601 文章801 文章1001 资讯1 资讯501 资讯1001 资讯1501 标签1 标签501 标签1001 关键词1 关键词501 关键词1001 关键词1501 专题2001
MySQL中SYSDATE()和NOW()的区别_MySQL
2020-11-09 18:20:54 责编:小采
文档


bitsCN.com
MySQL中SYSDATE()和NOW()的区别 MySQL中有5个函数需要计算当前时间的值: NOW.返回时间,格式如:2012-09-23 06:48:28CURDATE,返回时间的日期,格式如:2012-09-23CURTIME,返回时间,格式如:06:48:28UNIX_TIMESTAMP,返回时间整数戳,如:1348408108SYSDATE,返回时间,格式和time()函数返回时间一样,但是有区别。除了本身定义所返回的区别以外,另一个区别是:前四个函数都是返回基于语句的开始执行时间,而SYSDATE返回time的值。通过比较,可以发现这两个函数的区别: NOW()执行如下: [sql] mysql> select now(),sleep(2),now(); +---------------------+----------+---------------------+ | now() | sleep(2) | now() | +---------------------+----------+---------------------+ | 2012-09-23 06:54:29 | 0 | 2012-09-23 06:54:29 | +---------------------+----------+---------------------+ 1 row in set (2.00 sec) 其返回的两个值是一样的,因为都是表示语句开始执行的时间。 SYSDATE执行如下:[sql] mysql> select sysdate(),sleep(2),sysdate(); +---------------------+----------+---------------------+ | sysdate() | sleep(2) | sysdate() | +---------------------+----------+---------------------+ | 2012-09-23 06:55:00 | 0 | 2012-09-23 06:55:02 | +---------------------+----------+---------------------+ 1 row in set (2.01 sec) 也正因为有这个区别,我们一般在执行语句的时候,都是用NOW(),因为SYSDATE获取当时实时的时间,这有可能导致主库和从库是执行的返回值是不一样的,导致主从数据不一致。 其上其它函数执行如下: [sql] mysql> select now(),sysdate(),curdate(),curtime(),unix_timestamp()/G; *************************** 1. row *************************** now(): 2012-09-23 07:00:05 sysdate(): 2012-09-23 07:00:05 curdate(): 2012-09-23 curtime(): 07:00:05 unix_timestamp(): 1348408805 1 row in set (0.00 sec) bitsCN.com

下载本文
显示全文
专题