当前位置: 首页 > news >正文

mysql中的date_MySql Date函数

下面是MySQL中最重要的内建函数

函数 描述

NOW() 返回当前的日期和时间

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

1 NOW() 返回当前的日期和时间。2 语法3 NOW()4

5 --实例

6

7 --下面是 SELECT 语句:

8 SELECTNOW(),CURDATE(),CURTIME()9

10 结果如下所示:11 NOW() CURDATE() CURTIME()12 2018-06-27 14:25:34 2018-06-27 14:25:34

13 --实例

14

15 --下面的 SQL 创建带有日期时间列(OrderDate)的 "Orders" 表:

16 CREATE TABLEOrders17 (18 OrderId int NOT NULL,19 ProductName varchar(50) NOT NULL,20 OrderDate datetime NOT NULL DEFAULTNOW(),21 PRIMARY KEY(OrderId)22 )23

24 --请注意,OrderDate 列规定 NOW() 作为默认值。作为结果,当您向表中插入行时,当前日期和时间自动插入列中。

25

26 --现在,我们想要在 "Orders" 表中插入一条记录:

27 INSERT INTO Orders (ProductName) VALUES (‘Jarlsberg Cheese‘)28

29 --"Orders" 表将如下所示:

30 OrderId ProductName OrderDate31 1 Jarlsberg Cheese 2018-06-11 14:36:55

View Code

CURDATE() 返回当前的日期

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

1 --CURDATE() 返回当前的日期。

2

3 --实例

4

5 --下面是 SELECT 语句:

6 SELECTNOW(),CURDATE(),CURTIME()7

8 结果如下所示:9 NOW() CURDATE() CURTIME()10 2018-06-27 14:25:34 2018-06-27 14:25:34

11 --实例

12

13 --下面的 SQL 创建带有日期时间列(OrderDate)的 "Orders" 表:

14 CREATE TABLEOrders15 (16 OrderId int NOT NULL,17 ProductName varchar(50) NOT NULL,18 OrderDate datetime NOT NULL DEFAULTCURDATE(),19 PRIMARY KEY(OrderId)20 )21

22 --请注意,OrderDate 列规定 CURDATE() 作为默认值。作为结果,当您向表中插入行时,当前日期和时间自动插入列中。

23

24 --现在,我们想要在 "Orders" 表中插入一条记录:

25 INSERT INTO Orders (ProductName) VALUES (‘Jarlsberg Cheese‘)26

27 --"Orders" 表将如下所示:

28 OrderId ProductName OrderDate29 1 Jarlsberg Cheese 2018-06-11 14:36:55

View Code

CURTIME() 返回当前的时间

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

1 --CURTIME() 返回当前的日期。

2

3 --实例

4

5 --下面是 SELECT 语句:

6 SELECTNOW(),CURDATE(),CURTIME()7

8 --结果如下所示:

9 NOW() CURDATE() CURTIME()10 2018-06-27 14:25:34 2018-06-27 14:25:34

View Code

DATE() 提取日期或日期/时间表达式的日期部分

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

1 --DATE() 函数提取日期或日期/时间表达式的日期部分。

2 --实例

3

4 --假设我们有如下的 "Orders" 表:

5 OrderId ProductName OrderDate6 1 Jarlsberg Cheese 2018-06-27 14:53:44.657

7

8 --下面是 SELECT 语句:

9 SELECT ProductName, DATE(OrderDate) ASOrderDate10 FROMOrders11 WHERE OrderId=1

12

13 --结果如下所示:

14 ProductName OrderDate15 Jarlsberg Cheese 2018-06-27

View Code

EXTRACT() 返回日期/时间的单独部分

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

1 --EXTRACT() 函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

2 --语法

3 --EXTRACT(unit FROM date)

4

5 --date 参数是合法的日期表达式。unit 参数可以是下列的值:

6 Unit 值7 MICROSECOND8 SECOND9 MINUTE10 HOUR11 DAY

12 WEEK13 MONTH

14 QUARTER15 YEAR

16 SECOND_MICROSECOND17 MINUTE_MICROSECOND18 MINUTE_SECOND19 HOUR_MICROSECOND20 HOUR_SECOND21 HOUR_MINUTE22 DAY_MICROSECOND23 DAY_SECOND24 DAY_MINUTE25 DAY_HOUR26 YEAR_MONTH27

28 --实例

29

30 --假设我们有如下的 "Orders" 表:

31 OrderId ProductName OrderDate32 1 Jarlsberg Cheese 2018-06-2715:03:01

33

34 --下面是 SELECT 语句:

35 SELECT EXTRACT(YEAR FROM OrderDate) ASOrderYear,36 EXTRACT(MONTH FROM OrderDate) ASOrderMonth,37 EXTRACT(DAY FROM OrderDate) ASOrderDay,38 FROMOrders39 WHERE OrderId=1

40

41 --结果如下所示:

42 OrderYear OrderMonth OrderDay43 2018 06 27

View Code

DATE_ADD() 向日期添加指定的时间间隔

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

1 --DATE_ADD() 函数向日期添加指定的时间间隔。

2 --语法

3 --DATE_ADD(date,INTERVAL expr type)

4

5 --date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。

6

7 --type 参数可以是下列值:

8 Type 值9 MICROSECOND10 SECOND11 MINUTE12 HOUR13 DAY

14 WEEK15 MONTH

16 QUARTER17 YEAR

18 SECOND_MICROSECOND19 MINUTE_MICROSECOND20 MINUTE_SECOND21 HOUR_MICROSECOND22 HOUR_SECOND23 HOUR_MINUTE24 DAY_MICROSECOND25 DAY_SECOND26 DAY_MINUTE27 DAY_HOUR28 YEAR_MONTH29

30 --实例

31

32 --假设我们有如下的 "Orders" 表:

33 OrderId ProductName OrderDate34 1 Jarlsberg Cheese 2018-06-27 15:02:47

35

36 --现在,我们想要向 "OrderDate" 添加 45 天,这样就可以找到付款日期。

37

38 --我们使用下面的 SELECT 语句:

39 SELECT OrderId,DATE_ADD(OrderDate,INTERVAL 45 DAY) ASOrderPayDate40 FROMOrders41

42 --结果:

43 OrderId OrderPayDate44 1 2018-08-11 15:02:47

View Code

DATE_SUB() 从日期减去指定的时间间隔

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

1 DATE_SUB() 函数从日期减去指定的时间间隔。2 语法3 DATE_SUB(date,INTERVAL expr type)4

5 date 参数是合法的日期表达式。expr 参数是您希望添加的时间间隔。6

7 type 参数可以是下列值:8 Type 值9 MICROSECOND10 SECOND11 MINUTE12 HOUR13 DAY

14 WEEK15 MONTH

16 QUARTER17 YEAR

18 SECOND_MICROSECOND19 MINUTE_MICROSECOND20 MINUTE_SECOND21 HOUR_MICROSECOND22 HOUR_SECOND23 HOUR_MINUTE24 DAY_MICROSECOND25 DAY_SECOND26 DAY_MINUTE27 DAY_HOUR28 YEAR_MONTH29

30 实例31

32 假设我们有如下的 "Orders" 表:33 OrderId ProductName OrderDate34 1 Jarlsberg Cheese 2018-06-27 15:02:47

35

36 现在,我们想要向 "OrderDate" 减去 5天。37

38 我们使用下面的 SELECT语句:39 SELECT OrderId,DATE_SUB(OrderDate,INTERVAL 5 DAY) ASSubtractDate40 FROMOrders41

42 结果:43 OrderId SubtractDate44 1 2018-06-22 15:02:47

View Code

DATEDIFF() 返回两个日期之间的天数

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

1 DATEDUFF() 返回两个日期之间的天数2 实例:3

4 SELECT DATEDIFF(‘2018-11-29‘,‘2018-11-30‘) ASDiffDate5

6 结果:7 DiffDate8 -1

View Code

DATE_FORMAT() 用不同的格式显示日期/时间

335b83df261c422459d4afc29ba290e5.png

d1b641f023dd079c9e4a800b96607d9d.gif

1 DATE_FORMAT() 用不同的格式显示日期/时间2

3 实例:4 SELECT DATE_FORMAT(NOW(),‘%b %d %Y %h:%i %p‘);5 # DATE_FORMAT(NOW(),‘%b %d %Y %h:%i %p‘)6 ‘Jun 27 2018 03:12 PM‘

7

8 SELECT DATE_FORMAT(NOW(),‘%m-%d-%Y‘);9 # DATE_FORMAT(NOW(),‘%m-%d-%Y‘)10 ‘06-27-2018‘

11

12 SELECT DATE_FORMAT(NOW(),‘%d %b %y‘);13 # DATE_FORMAT(NOW(),‘%d %b %y‘)14 ‘27 Jun 18‘

15

16 SELECT DATE_FORMAT(NOW(),‘%d %b %Y %T:%f‘);17 # DATE_FORMAT(NOW(),‘%d %b %Y %T:%f‘)18 ‘27 Jun 2018 15:15:44:000000‘

19

20 可以使用的格式有:21 格式 描述22 %a 缩写星期名23 %b 缩写月名24 %c 月,数值25 %D 带有英文前缀的月中的天26 %d 月的天,数值(00-31)27 %e 月的天,数值(0-31)28 %f 微秒29 %H 小时(00-23)30 %h 小时(01-12)31 %I 小时(01-12)32 %i 分钟,数值(00-59)33 %j 年的天(001-366)34 %k 小时(0-23)35 %l 小时(1-12)36 %M 月名37 %m 月,数值(00-12)38 %p AM 或 PM39 %r 时间,12-小时(hh:mm:ss AM 或 PM)40 %S 秒(00-59)41 %s 秒(00-59)42 %T 时间, 24-小时(hh:mm:ss)43 %U 周(00-53)星期日是一周的第一天44 %u 周(00-53)星期一是一周的第一天45 %V 周(01-53)星期日是一周的第一天,与 %X 使用46 %v 周(01-53)星期一是一周的第一天,与 %x 使用47 %W 星期名48 %w 周的天(0=星期日, 6=星期六)49 %X 年,其中的星期日是周的第一天,4 位,与 %V 使用50 %x 年,其中的星期一是周的第一天,4 位,与 %v 使用51 %Y 年,4位52 %y 年,2 位

View Code

下面是数据库中存储日期的数据类型

DATE - 格式:YYYY-MM-DD

DATETIME - 格式:YYYY-MM-DD HH:MM:SS

TIMESTAMP - 格式:YYYY-MM-DD HH:MM:SS

YEAR - 格式:YYYY 或 YY

总结:日期函数有点乱,其实我觉得记住几个经常用到的就可以了,不一定非要全部记住,必定谁都没有过目不忘的本领,而且也不会出题考试,工作中用到哪个记不住查一下就可以了

相关文章:

  • mysql innodb 文件备份_MySQL物理备份
  • SharePoint Portal Server与SharePoint Services的关系
  • mysql 查找中位数_MYSQL 取中位数
  • python中声明变量注意事项_我们如何在Python中声明变量?
  • 配置SharePoint门户网站的基本思路
  • mysql批量更新查询某个字段_Mysql批量更新某个字段
  • mysql数据库的远程访问_Mysql 数据库 远程连接
  • 分形艺术
  • 绘制恒线速度的参数曲线
  • hibernate mysql sequence_hibernate 在mysql数据库上,利用sequence生成主键的另一种解决方法...
  • 抱SQL SERVER大腿之从巨大表中提炼非重复数据
  • 抱SQL SERVER大腿之我爱用视图
  • python初学往哪个方向比较容易_学习Python应该往哪个方向发展?
  • 学习Extjs与RoR的集成有感
  • python是什么工程_十年开发工程师告诉你python是做什么的,新手必看哦!
  • [ 一起学React系列 -- 8 ] React中的文件上传
  • 2019年如何成为全栈工程师?
  • Apache Zeppelin在Apache Trafodion上的可视化
  • Git 使用集
  • hadoop集群管理系统搭建规划说明
  • Js基础知识(四) - js运行原理与机制
  • Laravel 菜鸟晋级之路
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Quartz初级教程
  • 跨域
  • 你不可错过的前端面试题(一)
  • 漂亮刷新控件-iOS
  • 前端 CSS : 5# 纯 CSS 实现24小时超市
  • 前端存储 - localStorage
  • 如何抓住下一波零售风口?看RPA玩转零售自动化
  • 世界上最简单的无等待算法(getAndIncrement)
  • 适配iPhoneX、iPhoneXs、iPhoneXs Max、iPhoneXr 屏幕尺寸及安全区域
  • 突破自己的技术思维
  • 一些基于React、Vue、Node.js、MongoDB技术栈的实践项目
  • ​flutter 代码混淆
  • ​LeetCode解法汇总1410. HTML 实体解析器
  • ​云纳万物 · 数皆有言|2021 七牛云战略发布会启幕,邀您赴约
  • $(selector).each()和$.each()的区别
  • (Redis使用系列) Springboot 整合Redisson 实现分布式锁 七
  • (附源码)ssm失物招领系统 毕业设计 182317
  • (三分钟)速览传统边缘检测算子
  • (算法二)滑动窗口
  • (一) storm的集群安装与配置
  • (转)C#开发微信门户及应用(1)--开始使用微信接口
  • (转)大道至简,职场上做人做事做管理
  • .gitignore文件设置了忽略但不生效
  • .NET 4.0网络开发入门之旅-- 我在“网” 中央(下)
  • .Net Remoting常用部署结构
  • .NET/C# 编译期能确定的字符串会在字符串暂存池中不会被 GC 垃圾回收掉
  • .Net通用分页类(存储过程分页版,可以选择页码的显示样式,且有中英选择)
  • .NET下的多线程编程—1-线程机制概述
  • .net中的Queue和Stack
  • @JsonFormat与@DateTimeFormat注解的使用
  • [.net]官方水晶报表的使用以演示下载
  • [《百万宝贝》观后]To be or not to be?