[MySQL]日期和时间函数

news2025/1/16 3:50:02

文章目录
  • 1 获取日期、时间
      • CURDATE() ,CURRENT_DATE()
      • CURTIME() , CURRENT_TIME()
      • NOW() / SYSDATE() / CURRENT_TIMESTAMP() / LOCALTIME() / LOCALTIMESTAMP()
      • UTC_DATE()
      • UTC_TIME()
      • 代码示例
  • 2 日期与时间戳的转换
      • UNIX_TIMESTAMP()
      • UNIX_TIMESTAMP(date)
      • FROM_UNIXTIME(timestamp)
      • 代码示例
  • 3 获取月份、星期、星期数、天数等函数
      • YEAR(date) / MONTH(date) / DAY(date)
      • HOUR(time) / MINUTE(time) / SECOND(time)
      • MONTHNAME(date)
      • DAYNAME(date)
      • WEEKDAY(date)
      • QUARTER(date)
      • WEEK(date) , WEEKOFYEAR(date)
      • DAYOFYEAR(date)
      • DAYOFMONTH(date)
      • DAYOFWEEK(date)
      • 代码示例
  • 4 日期的操作函数
      • EXTRACT(type FROM date)
  • 5 时间和秒钟转换的函数
      • TIME_TO_SEC(time)
      • SEC_TO_TIME(seconds)
      • 代码示例
  • 6 计算日期和时间的函数
      • DATE_ADD(datetime, INTERVAL expr type), ADDDATE(date,INTERVAL expr type)
      • DATE_SUB(date,INTERVAL expr type),SUBDATE(date,INTERVAL expr type)
      • ADDTIME(time1,time2)
      • SUBTIME(time1,time2)
      • DATEDIFF(date1,date2)
      • TIMEDIFF(time1, time2)
      • FROM_DAYS(N)
      • TO_DAYS(date)
      • LAST_DAY(date)
      • MAKEDATE(year,n)
      • MAKETIME(hour,minute,second)
      • PERIOD_ADD(time,n)
      • 代码示例
  • 7 日期的格式化与解析
      • DATE_FORMAT(date,fmt)
      • TIME_FORMAT(time,fmt)
      • GET_FORMAT(date_type,format_type)
      • STR_TO_DATE(str, fmt)
      • 非GET_FORMAT 函数中fmt参数常用的格式符:
      • GET_FORMAT函数中date_type和format_type参数取值如下:
      • 代码示例


1 获取日期、时间

CURDATE() ,CURRENT_DATE()

返回当前日期,只包含年、月、日

CURTIME() , CURRENT_TIME()

返回当前时间,只包含时、分、秒

NOW() / SYSDATE() / CURRENT_TIMESTAMP() / LOCALTIME() / LOCALTIMESTAMP()

返回当前系统日期和时间

UTC_DATE()

返回UTC(世界标准时间)日期

UTC_TIME()

返回UTC(世界标准时间)时间

代码示例
SELECT
       CURDATE(),
       CURRENT_DATE(),
       CURTIME(),
       NOW(),
       SYSDATE(),
       UTC_DATE(),
       UTC_TIME()
FROM DUAL;

在这里插入图片描述

2 日期与时间戳的转换

UNIX_TIMESTAMP()

以UNIX时间戳的形式返回当前时间。SELECT UNIX_TIMESTAMP() - >1634348884

UNIX_TIMESTAMP(date)

将时间date以UNIX时间戳的形式返回。

FROM_UNIXTIME(timestamp)

将UNIX时间戳的时间转换为普通格式的时间

代码示例
SELECT
       UNIX_TIMESTAMP(),
       UNIX_TIMESTAMP('2021-10-01 12:12:32'),
       FROM_UNIXTIME(1635173853),
       FROM_UNIXTIME(1633061552)
FROM DUAL;

在这里插入图片描述

3 获取月份、星期、星期数、天数等函数

YEAR(date) / MONTH(date) / DAY(date)

返回具体的日期值

HOUR(time) / MINUTE(time) / SECOND(time)

返回具体的时间值

MONTHNAME(date)

返回月份:January,…

DAYNAME(date)

返回星期几:MONDAY,TUESDAY…SUNDAY

WEEKDAY(date)

返回周几,注意,周1是0,周2是1,…,周日是6

QUARTER(date)

返回日期对应的季度,范围为1~4

WEEK(date) , WEEKOFYEAR(date)

返回一年中的第几周

DAYOFYEAR(date)

返回日期是一年中的第几天

DAYOFMONTH(date)

返回日期位于所在月份的第几天

DAYOFWEEK(date)

返回周几,注意:周日是1,周一是2,…,周六是7

代码示例
SELECT
       YEAR(CURDATE()),
       MONTH(CURDATE()),
       DAY(CURDATE()),
       HOUR(CURTIME()),
       MINUTE(NOW()),
       SECOND(SYSDATE()),
       MONTHNAME('2021-10-26'),
       DAYNAME('2021-10-26'),
       WEEKDAY('2021-10-26'),
       QUARTER(CURDATE()),
       WEEK(CURDATE()),
       DAYOFYEAR(NOW()),
       DAYOFMONTH(NOW()),
       DAYOFWEEK(NOW())
FROM DUAL;

在这里插入图片描述

4 日期的操作函数

EXTRACT(type FROM date)

返回指定日期中特定的部分,type指定返回的值

在这里插入图片描述

SELECT
       EXTRACT(SECOND FROM NOW()),
       EXTRACT(DAY FROM NOW()),
       EXTRACT(HOUR_MINUTE FROM NOW()),
       EXTRACT(QUARTER FROM '2021-05-12')
FROM DUAL;

在这里插入图片描述

5 时间和秒钟转换的函数

TIME_TO_SEC(time)

将 time 转化为秒并返回结果值。转化的公式为: 小时*3600+分钟 *60+秒

SEC_TO_TIME(seconds)

将 seconds 描述转化为包含小时、分钟和秒的时间

代码示例
SELECT
       TIME_TO_SEC(CURTIME()),
       SEC_TO_TIME(53515)
FROM DUAL;

在这里插入图片描述

6 计算日期和时间的函数

DATE_ADD(datetime, INTERVAL expr type), ADDDATE(date,INTERVAL expr type)

返回与给定日期时间相差INTERVAL时间段的日期时间

type的取值:
在这里插入图片描述

SELECT
       NOW(),
       DATE_ADD(NOW(),INTERVAL 1 YEAR),
       DATE_ADD(NOW(),INTERVAL -1 YEAR)
FROM DUAL;

在这里插入图片描述

SELECT
       DATE_ADD(NOW(), INTERVAL 1 DAY) AS col1,
       DATE_ADD('2021-10-21 23:32:12',INTERVAL 1 SECOND) AS col2,
       ADDDATE('2021-10-21 23:32:12',INTERVAL 1 SECOND) AS col3,
       DATE_ADD('2021-10-21 23:32:12',INTERVAL '1_1' MINUTE_SECOND) AS col4,
       DATE_ADD(NOW(), INTERVAL -1 YEAR) AS col5, #可以是负数
       DATE_ADD(NOW(), INTERVAL '1_1' YEAR_MONTH) AS col6 #需要单引号
FROM DUAL;

在这里插入图片描述

DATE_SUB(date,INTERVAL expr type),SUBDATE(date,INTERVAL expr type)

返回与date相差INTERVAL时间间隔的日期

type的取值:
在这里插入图片描述

SELECT
       NOW(),
       DATE_SUB(NOW(),INTERVAL 1 YEAR)
FROM DUAL;

在这里插入图片描述

ADDTIME(time1,time2)

返回time1加上time2的时间。当time2为一个数字时,代表的是秒 ,可以为负数

SUBTIME(time1,time2)

返回time1减去time2后的时间。当time2为一个数字时,代表的是 秒 ,可以为负数

DATEDIFF(date1,date2)

返回date1 - date2的日期间隔天数

TIMEDIFF(time1, time2)

返回time1 - time2的时间间隔

FROM_DAYS(N)

返回从0000年1月1日起,N天以后的日期

TO_DAYS(date)

返回日期date距离0000年1月1日的天数

LAST_DAY(date)

返回date所在月份的最后一天的日期

MAKEDATE(year,n)

针对给定年份与所在年份中的天数返回一个日期,即指定年份的第几天

MAKETIME(hour,minute,second)

将给定的小时、分钟和秒组合成时间并返回

PERIOD_ADD(time,n)

返回time加上n后的时间

代码示例
SELECT
       ADDTIME(NOW(),20),
       SUBTIME(NOW(),30),
       SUBTIME(NOW(),'1:1:3'),
       DATEDIFF(NOW(),'2021-10-01'),
       TIMEDIFF(NOW(),'2021-10-25 22:10:10'),
       FROM_DAYS(366),
       TO_DAYS('0000-12-25'),
       LAST_DAY(NOW()),
       MAKEDATE(YEAR(NOW()),32),
       MAKETIME(10,21,23),
       PERIOD_ADD(20200101010101,10)
FROM DUAL;`在这里插入代码片`

在这里插入图片描述

SELECT
       # 日期转化为数值
       CURDATE(),
       CURDATE() + 0,
       CURTIME() + 0,
       NOW() + 0
FROM DUAL;

在这里插入图片描述

7 日期的格式化与解析

格式化:日期 —> 字符串
解析: 字符串 —> 日期
这里指的是日期的显式格式化和解析

DATE_FORMAT(date,fmt)

按照字符串fmt格式化日期date值

TIME_FORMAT(time,fmt)

按照字符串fmt格式化时间time值

GET_FORMAT(date_type,format_type)

返回日期字符串的显示格式

既不是格式化也不是解析,用于得到日期的格式,如:'%Y-%M-%D'

STR_TO_DATE(str, fmt)

按照字符串fmt对str进行解析,解析为一个日期

非GET_FORMAT 函数中fmt参数常用的格式符:

在这里插入图片描述

GET_FORMAT函数中date_type和format_type参数取值如下:

在这里插入图片描述

代码示例
#格式化:
SELECT
       DATE_FORMAT(CURDATE(),'%Y-%M-%D'),
       DATE_FORMAT(NOW(),'%Y-%m-%d'),
       TIME_FORMAT(CURTIME(),'%h:%i:%S'),
       DATE_FORMAT(NOW(),'%Y-%M-%D %h:%i:%S %W %w %T %r')
FROM DUAL;

在这里插入图片描述

#解析:格式化的逆过程
SELECT
       STR_TO_DATE('2021-October-25th 11:37:30 Monday 1','%Y-%M-%D %h:%i:%S %W %w'),
       GET_FORMAT(DATE,'USA'),
       DATE_FORMAT(CURDATE(),GET_FORMAT(DATE,'USA'))
FROM DUAL;

在这里插入图片描述

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/1281215.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

使用WPF设计时绑定加快开发速度

知识来源:B站up主 香辣恐龙蛋 第一步 第二步

字符串冲刺题

关卡名 字符串冲刺题 我会了✔️ 内容 1.掌握最长公共前缀问题 ✔️ 2.掌握字符串压缩问题 ✔️ 3.如果想挑战一下就研究:表示数值的字符串 ✔️ 1 最长公共前缀 这是一道经典的字符串问题,LeetCode14 先看题目要求:编写一个函数来查找…

【Vue2】Vue的介绍与Vue的第一个实例

文章目录 前言一、为什么要学习Vue二、什么是Vue1.什么是构建用户界面2.什么是渐进式Vue的两种开发方式: 3.什么是框架 三、创建Vue实例四、插值表达式 {{}}1.作用:利用表达式进行插值,渲染到页面中2.语法3.错误用法 五、响应式特性1.什么是响…

OpenOffice 4.1.14的安装以及与数据库进行连接

起因:因为MS Office的Access只能和自家的数据库连接,感觉不太舒服,因此尝试使用Openoffice组件中的Base进行替换。这里记录一下从安装到进行数据库连接的过程。 1.下载地址 https://www.openoffice.org/download/index.html 我这里是Debian1…

ArcGIS制作某村土地利用现状图

1. 根据坐落单位名称属性选择并提取作图数据 (1) 将“作图线状地物”、“作图图班”和“村庄”图层加入ARCGIS(右键Layers-Add data),选择相应路径下的文件加载即可。 (2) 按属性来提取作图村庄的地类图班、线状地物和村界文件(…

(Python) 特殊变量

整体 内置模块 name 用到的模块 对象 函数

AGNES层次聚类

已知数据集D中有9个数据点,分别是(1,2),(2,3),(2,1), (3,1),(2,4),(3,5),(4,3),(1,5),(4,2)。要求: (1)采用层次聚类的聚集算法进行聚类,k2。 (2)距离计算采用欧几里得距离。 (3)簇之间的距离采用单链接方…

Lag-Llama:基于 LlaMa 的单变量时序预测基础模型

文章构建了一个通用单变量概率时间预测模型 Lag-Llama,在来自Monash Time Series库中的大量时序数据上进行了训练,并表现出良好的零样本预测能力。在介绍Lag-Llama之前,这里简单说明什么是概率时间预测模型。概率预测问题是指基于历史窗口内的…

12月1号作业

实现运算符重载 #include <iostream>using namespace std; class Person{friend const Person operator-(const Person &L,const Person &R);friend bool operator<(const Person &L,const Person &R);friend Person operator-(Person &L,const …

FL Studio 21.2.1.3859中文破解激活版2024免费下载安装图文教程

FL Studio 21.2.1.3859中文破解激活版是我见过更新迭代最快的宿主软件&#xff0c;没有之一。FL Studio12、FL Studio20、FL Studio21等等。有时甚至我刚刚下载好了最新版本&#xff0c;熟悉了新版本一些好用的操作&#xff0c;Fl Studio就又推出了更新的版本&#xff0c;而且F…

【数电笔记】11-最小项(逻辑函数的表示方法及其转换)

目录 说明&#xff1a; 逻辑函数的建立 1. 分析逻辑问题&#xff0c;建立逻辑函数的真值表 2. 根据真值表写出逻辑式 3. 画逻辑图 逻辑函数的表示 1. 逻辑表达式的常见表示形式与转换 2. 逻辑函数的标准表达式 &#xff08;1&#xff09;最小项的定义 &#xff08;2&am…

2023年5月电子学会青少年软件编程 Python编程等级考试一级真题解析(判断题)

2023年5月Python编程等级考试一级真题解析 判断题(共10题,每题2分,共20分) 26、在编写较长的Python程序时,所有代码都不需要缩进,Python会自动识别代码之间的关系 答案:错 考点分析:考查python代码书写格式规范,python编写较长的程序时,需要明确严格的缩进,不然有…

软件公司发新版本前会做些什么?

其他系列文章导航 Java基础合集数据结构与算法合集 设计模式合集 多线程合集 分布式合集 ES合集 文章目录 其他系列文章导航 文章目录 前言 一、灰度系统 1.1 灰度系统含义 1.2 灰度系统实现 1.3 如何设置cookie 二、nginx配置cookie实现分流示例 三、总结 前言 软件…

2023年【起重机司机(限桥式起重机)】报名考试及起重机司机(限桥式起重机)考试资料

题库来源&#xff1a;安全生产模拟考试一点通公众号小程序 2023年【起重机司机(限桥式起重机)】报名考试及起重机司机(限桥式起重机)考试资料&#xff0c;包含起重机司机(限桥式起重机)报名考试答案和解析及起重机司机(限桥式起重机)考试资料练习。安全生产模拟考试一点通结合…

搭建CIG容器重量级监控平台

CIG简介 CIG监控平台是基于CAdvisor、InfluxDB和Granfana构建的一个容器重量级监控系统&#xff0c;用于监控容器的各项性能指标&#xff0c;通过三者的结合&#xff0c;CIG监控平台可以实现对容器性能的全面监控和可视化展示&#xff0c;为容器的性能和运行状态提供了一个全面…

HGNN+笔记

1.Title HGNN: General Hypergraph Neural Networks&#xff08;Yue Gao; Yifan Feng; Shuyi Ji; Rongrong Ji&#xff09;【IEEE Transactions on Pattern Analysis and Machine Intelligence 2023】 2.Conclusion This paper extend the original conference version HGNN,…

基于Java SSM框架+Vue实现教学视频点播网站项目【项目源码+论文说明】计算机毕业设计

基于java的SSM框架Vue实现教学视频点播网站演示 摘要 随着现在网络的快速发展&#xff0c;网上管理系统也逐渐快速发展起来&#xff0c;网上管理模式很快融入到了许多学院的之中&#xff0c;随之就产生了“视频点播系统”&#xff0c;这样就让视频点播系统更加方便简单。 对于…

Spring IOC—基于XML配置和管理Bean 万字详解(通俗易懂)

目录 一、前言 二、通过类型来获取Bean 0.总述&#xff08;重要&#xff09; : 1.基本介绍 : 2.应用实例 : 三、通过指定构造器为Bean注入属性 1.基本介绍 : 2.应用实例 : 四、通过p命名空间为Bean注入属性 1.基本介绍 : 2.应用实例 : 五、通过ref引用实现Bean的相…

RHCSA学习笔记(RHEL8) - Part1.RH124

Chapter Ⅰ 入门 - Linux 开源系统&#xff0c;命令行&#xff0c;模块化&#xff08;软件包的形势&#xff09; - Windows 闭源Linux是类UNIX系统&#xff0c;mac系统也是类UNIX系统&#xff0c;所以二者的图形化界面比较相似 开源许可证&#xff1a;公共版权&#xff1b;宽…

JSP格式化标签 parseNumber指定格式字符串转数字类型

好 我们继续来说格式化标签 parseNumber 它的作用是讲一个字符串 转换为指定格式的数值型 老实说 这东西 作为了解把 实际开发中都不是用得少 我建议还是在java端就处理好 不建议在jsp中高这种类型转换的操作 基本格式如下 这几个属性都是我们这几期jsp标签的老朋友了 我们…