Mysql —日期和时间函数(二)

news/2024/10/18 10:16:25/
  • GET_FORMAT({DATE|TIME|DATETIME}, {'EUR'|'USA'|'JIS'|'ISO'|'INTERNAL'})

返回一个格式字符串。此函数与DATE_FORMAT()和STR_TO_DATE()函数结合使用非常有用。
如果format 为NULL,此函数将返回NULL。
第一个和第二个参数的可能值会产生几个可能的格式字符串(有关使用的说明符,请参阅DATE_format()函数描述中的表)。ISO格式指的是ISO 9075,而不是ISO 8601。 

Function Call

Result

GET_FORMAT(DATE,'USA')

'%m.%d.%Y'

GET_FORMAT(DATE,'JIS')

'%Y-%m-%d'

GET_FORMAT(DATE,'ISO')

'%Y-%m-%d'

GET_FORMAT(DATE,'EUR')

'%d.%m.%Y'

GET_FORMAT(DATE,'INTERNAL')

'%Y%m%d'

GET_FORMAT(DATETIME,'USA')

'%Y-%m-%d %H.%i.%s'

GET_FORMAT(DATETIME,'JIS')

'%Y-%m-%d %H:%i:%s'

GET_FORMAT(DATETIME,'ISO')

'%Y-%m-%d %H:%i:%s'

GET_FORMAT(DATETIME,'EUR')

'%Y-%m-%d %H.%i.%s'

GET_FORMAT(DATETIME,'INTERNAL')

'%Y%m%d%H%i%s'

GET_FORMAT(TIME,'USA')

'%h:%i:%s %p'

GET_FORMAT(TIME,'JIS')

'%H:%i:%s'

GET_FORMAT(TIME,'ISO')

'%H:%i:%s'

GET_FORMAT(TIME,'EUR')

'%H.%i.%s'

GET_FORMAT(TIME,'INTERNAL')

'%H%i%s'

TIMESTAMP也可以用作GET_FORMAT()的第一个参数,在这种情况下,函数返回与DATETIME相同的值。

mysql> SELECT DATE_FORMAT('2003-10-03',GET_FORMAT(DATE,'EUR'));-> '03.10.2003'
mysql> SELECT STR_TO_DATE('10.31.2003',GET_FORMAT(DATE,'USA'));-> '2003-10-31'
  • LAST_DAY(date)

获取日期或日期时间值,并返回该月最后一天的相应值。如果参数无效或为NULL,则返回NULL。

mysql> SELECT LAST_DAY('2003-02-05');-> '2003-02-28'
mysql> SELECT LAST_DAY('2004-02-05');-> '2004-02-29'
mysql> SELECT LAST_DAY('2004-01-01 01:01:01');-> '2004-01-31'
mysql> SELECT LAST_DAY('2003-03-32');-> NULL
  • MICROSECOND(expr)

以0到999999之间的数字形式返回时间或日期时间表达式expr的微秒。如果expr为NULL,则返回NULL。

mysql> SELECT MICROSECOND('12:00:00.123456');-> 123456
mysql> SELECT MICROSECOND('2019-12-31 23:59:59.000010');-> 10
  •  MINUTE(time)

返回时间的分钟,范围为0到59,如果时间为NULL,则返回NULL。

mysql> SELECT MINUTE('2008-02-03 10:05:03');-> 5
  •   MONTH(date)

返回日期的月份,对于1月到12月,返回范围为1到12;对于具有零月份部分的日期,返回0,例如“0000-00-00”或“2008-00-00”。如果日期为NULL,则返回NULL。

mysql> SELECT MONTH('2008-02-03');-> 2
  •  MONTHNAME(date)

返回日期所在月份的全名。用于名称的语言由lc_time_names系统变量的值控制。如果日期为NULL,则返回NULL。

mysql> SELECT MONTHNAME('2008-02-03');-> 'February'
  •  NOW([fsp])

以“YYYY-MM-DD hh:MM:ss”或YYYY-MMDDhhmmss格式的值返回当前日期和时间,具体取决于函数是在字符串上下文中使用还是在数字上下文中使用。该值以会话时区表示。
如果给定fsp参数以指定从0到6的小数秒精度,则返回值包括该数字的小数秒部分。

mysql> SELECT NOW();-> '2007-12-15 23:50:26'
mysql> SELECT NOW() + 0;-> 20071215235026.000000

 NOW()返回一个常量时间,指示语句开始执行的时间。(在存储的函数或触发器中,NOW()返回函数或触发语句开始执行的时间。)这与SYSDATE()的行为不同,后者返回执行的确切时间。

mysql> SELECT NOW(), SLEEP(2), NOW();
+---------------------+----------+---------------------+
| NOW()               | SLEEP(2) | NOW()               |
+---------------------+----------+---------------------+
| 2006-04-12 13:47:36 |        0 | 2006-04-12 13:47:36 |
+---------------------+----------+---------------------+mysql> SELECT SYSDATE(), SLEEP(2), SYSDATE();
+---------------------+----------+---------------------+
| SYSDATE()           | SLEEP(2) | SYSDATE()           |
+---------------------+----------+---------------------+
| 2006-04-12 13:47:44 |        0 | 2006-04-12 13:47:46 |
+---------------------+----------+---------------------+

此外,SET TIMESTAMP语句会影响NOW()返回的值,但不会影响SYSDATE()返回。这意味着二进制日志中的时间戳设置对SYSDATE()的调用没有影响。将时间戳设置为非零值会导致NOW()的每次后续调用都返回该值。将时间戳设置为零将取消此效果,以便NOW()再次返回当前日期和时间。
请参阅SYSDATE()的描述,以获取有关这两个函数之间差异的更多信息。

  • PERIOD_ADD(P,N)

将N个月添加到周期P(格式为YYYMM或YYYYMM)。返回格式为YYYYMM的值。

如果P或N为NULL,此函数将返回NULL。

mysql> SELECT PERIOD_ADD(200801,2);-> 200803
  •  PERIOD_DIFF(P1,P2)

返回周期P1和周期P2之间的月数。P1和P2的格式应为YYYMM或YYYYMM。请注意,周期参数P1和P2不是日期值。
如果P1或P2为NULL,此函数将返回NULL。

mysql> SELECT PERIOD_DIFF(200802,200703);-> 11

 


http://www.ppmy.cn/news/486030.html

相关文章

源码编译安装LAMP——LAMP+DISCUZ论坛搭建

文章目录 一.Apache1.什么是apache2.apache的主要特点3.apache的软件版本4.编译安装优点5.安装服务的一般步骤 二.LAMP简介与概述1.LAMP平台概述2.构建LAMP平台顺序3.各组件的主要作用 三.LAMPDISCUZ论坛搭建1.部署Apache1.1 下载apache相关安装包放入服务器中1.2 解压apache的…

Vue中使用分布式事务管理解决方案

文章目录 分布式事务管理是什么优点:缺点:弥补缺点的方法有: 解决方案 分布式事务管理是什么 分布式事务管理是指在分布式系统中对跨多个数据库或服务的操作进行协调和保证一致性的机制。在分布式环境下,由于涉及到多个独立的资源…

戴尔PowerEdge-R410服务器U盘安装linux,开启远程连接,IP地址分配教程(运维必看)

目录 一、U盘安装linux 二、开启远程连接 三、分配IP 四、总结 一、U盘安装linux 制作启动盘,下载UltraISO工具,进行制作即可,不会的参考教程https://www.cnblogs.com/coxiseed/p/9851459.html 为了设置从U盘启动,我们开机设…

maven测试依赖传递性

1、依赖的传递性 #①概念 A 依赖 B,B 依赖 C,那么在 A 没有配置对 C 的依赖的情况下,A 里面能不能直接使用 C? #②传递的原则 在 A 依赖 B,B 依赖 C 的前提下,C 是否能够传递到 A,取决于 B …

如何搭建企业内部Wiki?

企业内部wiki是一种基于web的知识管理系统,它可以帮助企业高效地管理和分享内部的知识和信息。搭建一个企业内部wiki需要考虑很多方面,包括选择合适的wiki软件、搭建服务器、设置权限、培训员工等。本文将介绍如何搭建企业内部wiki,以及如何管…

springboot Templating Properties 模板引擎配置属性 2306

springboot Templating Properties 模板引擎配置属性 2306 Springboot Properties 2306 10. Templating Properties 模板属性 NameDescriptionDefault Valuespring.freemarker.allow-request-overrideWhether HttpServletRequest attributes are allowed to override (hide) co…

gitbook出现TypeError: cb.apply is not a function解决办法

降低node版本 nvm install 10.14.1 nvm use 10.14.1我用了 10.14.1版本的node就成功了

npm ERR!cb.apply is not a function

报错如下: 原因:npm本地缓存出现了一些问题 解决:删除本地缓存 1. 进入对应C:\Users~~~\AppData\Roaming目录(可以WinR输入 %appdata% 直接进入) 2. 删除npm和npm_cache文件夹 3. 命令行输入 npm clean cache --fo…