转载自  MySQL now()函数

MySQL NOW()函数简介

MySQL NOW()函数以"YYYY-MM-DD HH:MM:DD""YYYYMMDDHHMMSS.uuuuuuu"格式的字符串或数字返回配置的时区中的当前日期和时间。

NOW()函数的返回类型取决于使用它的上下文。 例如,在以下语句中,NOW()函数以字符串形式返回当前日期和时间:

mysql> SELECT NOW();
+---------------------+
| NOW()               |
+---------------------+
| 2017-08-10 05:42:21 |
+---------------------+
1 row in set

但是,在数值上下文中,NOW()函数返回当前日期和时间作为数字:

mysql> SELECT NOW() + 0;
+----------------+
| NOW() + 0      |
+----------------+
| 20170810054252 |
+----------------+
1 row in set

请注意,NOW()函数在该语句开始执行时返回一个日期和时间的常量。请参阅以下示例:

mysql> SELECT NOW(), SLEEP(5), NOW();
+---------------------+----------+---------------------+
| NOW()               | SLEEP(5) | NOW()               |
+---------------------+----------+---------------------+
| 2017-08-10 05:45:14 |        0 | 2017-08-10 05:45:14 |
+---------------------+----------+---------------------+
1 row in set

在上面查询中,执行第一个NOW()函数,SLEEP(5)函数暂停执行查询5秒,然后执行第二个NOW()函数。 然而,两个NOW()函数返回相同的值,尽管它们在不同的时间执行。

如果您想要准确指定执行语句的时间,则可使用SYSDATE(); 请参见以下示例:

mysql> SELECT SYSDATE(), SLEEP(5), SYSDATE();
+---------------------+----------+---------------------+
| SYSDATE()           | SLEEP(5) | SYSDATE()           |
+---------------------+----------+---------------------+
| 2017-08-10 05:47:05 |        0 | 2017-08-10 05:47:10 |
+---------------------+----------+---------------------+
1 row in set

如果要更改MySQL服务器的时区以调整NOW()函数返回的当前日期和时间,则使用以下语句:

SET time_zone = 你要的时区;

MySQL NOW()函数计算

因为NOW()函数在数字上下文中使用时会返回一个数字,所以您可以在计算中使用它,例如当前时间加上1小时,现在减去2小时,当前时间加1天,当前时间减去指定天数等。

以下语句返回当前日期和时间,当前时间减去1小时,当前时间加1小时:

mysql>-- mysql now minus 1 hour
SELECT (NOW() - INTERVAL 1 HOUR) 'NOW - 1 hour',NOW(),-- mysql now plus 1 hourNOW() + INTERVAL 1 HOUR 'NOW + 1 hour';
+---------------------+---------------------+---------------------+
| NOW - 1 hour        | NOW()               | NOW + 1 hour        |
+---------------------+---------------------+---------------------+
| 2017-08-10 04:49:50 | 2017-08-10 05:49:50 | 2017-08-10 06:49:50 |
+---------------------+---------------------+---------------------+
1 row in set

以下语句返回当前日期和时间,当前日期和时间减去1天,加1天:


mysql> -- mysql now minus 1 day
SELECT (NOW() - INTERVAL 1 DAY) 'NOW - 1 day',NOW(),-- mysql now plus 1 day(NOW() + INTERVAL 1 DAY) 'NOW + 1 day';
+---------------------+---------------------+---------------------+
| NOW - 1 day         | NOW()               | NOW + 1 day         |
+---------------------+---------------------+---------------------+
| 2017-08-09 05:50:47 | 2017-08-10 05:50:47 | 2017-08-11 05:50:47 |
+---------------------+---------------------+---------------------+
1 row in set

MySQL NOW()作为列的默认值

您可以使用NOW()函数作为DATETIMETIMESTAMP列的默认值。当您在INSERT语句中省略日期或时间值时,MySQL会将当前日期和时间插入到默认值为NOW()的列中。

我们来看下面的一个例子。

首先,创建一个名为tmp的新表,其中包含三个列:idtitlecreated_on。 created_on列具有由NOW()函数指定的默认值。

USE testdb;
CREATE TABLE tmp(id INT PRIMARY KEY AUTO_INCREMENT,title VARCHAR(255) NOT NULL,created_on DATETIME NOT NULL DEFAULT NOW() -- or CURRENT_TIMESTAMP
);

请注意,CURRENT_TIMESTAMPCURRENT_TIMESTAMP()NOW()的同义词,因此可以互换使用它们。

第二步,在tmp表中插入一个新行,而不指定created_on列的值:

INSERT INTO tmp(title)
VALUES('Test NOW() function');

第三步,从tmp表查询数据:

mysql> SELECT * FROM tmp;
+----+---------------------+---------------------+
| id | title               | created_on          |
+----+---------------------+---------------------+
|  1 | Test NOW() function | 2017-08-10 05:55:17 |
+----+---------------------+---------------------+
1 row in set

created_on列的值已更新为执行INSERT语句的当前日期和时间。

在本教程中,我们向您介绍了返回执行语句的当前日期和时间的MySQL NOW()函数。

MySQL now()函数相关推荐

  1. oracle增量 mysql_是否有任何mysql / Oracle函数给予增量号。基于另一列相似值的一列?...

    我有兴趣知道是否有任何MySQL / Oracle函数给增量号.在另一列相似的值的基础上的一列? 就像在我的下面的代码中,我有order_primary列,其中包含订单号.所以基于此我们可以确定有多少 ...

  2. ipad php mysql_PHP中的MYSQL常用函数

    PHP中的MYSQL常用函数 1.mysql_connect()-建立数据库连接 格式: resource mysql_connect([string hostname [:port] [:/path ...

  3. mysql 本周函数_【转】MySQL时间函数的使用:查询本周、下周、本月、下个月份的数据...

    MySQL时间函数的使用:查询本周.上周.本月.上个月份的数据[转] /*今天*/ select * from 表名 where to_days(时间字段) = to_days(now()); /*昨 ...

  4. mysql聚合函数count用法_MySQL中聚合函数count的使用和性能优化技巧

    本文的环境是Windows 10,MySQL版本是5.7.12-log 一. 基本使用 count的基本作用是有两个: 统计某个列的数据的数量: 统计结果集的行数: 用来获取满足条件的数据的数量.但是 ...

  5. MySQL STR_TO_DATE函数

    转: MySQL STR_TO_DATE函数 2017年12月05日 15:41:58 木林森淼 阅读数:23822 版权声明:水平有限,如有补充或更正,望大家评论指正 https://blog.cs ...

  6. MYSQL 加密函数的用法

    常见加密函数有md5,hash,password等,mysql应用web一般都是md5,32位的,下面讲将MYSQL 加密函数的用法.1,md5加密用法select md5('admin');2,pa ...

  7. Mysql 常用函数(19)- mod 函数

    Mysql常用函数的汇总,可看下面文章 https://www.cnblogs.com/poloyy/p/12890763.html mod 的作用 求余数,和%一样 mod的语法格式 mod(n,m ...

  8. mysql自定义函数应用_mysql functions实例:在自定义函数中应用字符串函数

    分享一段mysql自定义函数的代码,在其中用到了mysql的字符串函数length. 代码: mysql> delimiter $$ mysql> CREATE FUNCTION myFu ...

  9. mysql 聚合函数内比较运算符_关于常用 MYSQL 聚合函数,其他函数 ,类型转换,运算符 总结...

    /* 关于MYSQL 聚合函数,其他函数 ,类型转换,运算符 总结,*/ -- 1 运算符优先级  /* 12.1.1. 操作符优先级 以下列表显示了操作符优先级的由低到高的顺序.排列在同一行的操作符 ...

  10. 数据库系列之mysql 自定义函数function,函数和存储过程的区别

    mysql 自定义函数function,函数和存储过程的区别 https://blog.csdn.net/u010365819/article/details/80470448 https://blo ...

最新文章

  1. ORB_SLAM2源码:ORBmatcher.cc
  2. onsrcoll和scrollTop兼容与实现
  3. 关于迭代測试的一些思考
  4. some fragments
  5. MySQL 基础 ———— 分组查询
  6. 2022-03-07 学习docker开发vue前端
  7. 奢侈的休闲度假时光——带着小样儿去三亚(三)
  8. AI安全 - 华为白皮书《AI Security White Paper》
  9. vue项目在浏览器地址栏设置图标
  10. openswan中DH算法说明
  11. Python中文分词库jieba用法代码示例
  12. 国家新型城镇化与协同创新规划——产业·交通·空间
  13. 基于JAVA宠物喂养资讯分享平台的设计与实现计算机毕业设计源码+系统+lw文档+部署
  14. 模拟多线程并发订单处理功能实现
  15. Ubuntu开机自启动程序的方法
  16. FPGA_PCB 设计之一3.3V-LVTTL与3.3V-LVCMOS区别
  17. matlab图注的上标和下标,关于matlab中特殊字符, 上标和下标
  18. python交互模式切换_python如何进入交互模式
  19. Android 圆盘颜色选择器,十六进制色值表,百分比透明效果值,渐变效果
  20. .NET获取城市信息(将三字代码转换成城市名)

热门文章

  1. 软件构造学习笔记-第十一周
  2. spring boot 中@Mapper和@Repository的区别
  3. [EDA] 2.2 简单PLD结构原理-潘松版
  4. 哈希表-拉链法及应用举例
  5. Phone List POJ - 3630(字典树模板题)
  6. php asp 语法,ASP 语法
  7. 仅仅有人物没背景的图片怎么弄_五分钟写作课 人物篇 人物的出场是个关键时刻...
  8. c++ string 删除字符_字符串操作的全面总结(附完整代码)
  9. great English sentence:
  10. Identifiers in Java(Java标识符)