MySQL 多种日期处理函数介绍

news2024/11/19 21:27:49

        MySQL 提供了多种日期处理函数,用于处理和操作日期和时间数据。这些函数可以帮助你执行如日期计算、时间转换、格式化输出等操作。以下是一些常用的 MySQL 日期处理函数及其用法:


        日期和时间格式化函数
1. **DATE_FORMAT()**:将日期或时间戳格式化为字符串。
2. **TIME_FORMAT()**:将时间戳格式化为字符串。


SELECT DATE_FORMAT('2021-10-01 12:00:00', '%Y-%m-%d %H:%i:%s'); -- 输出:2021-10-01 12:00:00
SELECT TIME_FORMAT('2021-10-01 12:00:00', '%H:%i:%s'); -- 输出:12:00:00


        日期和时间组件函数
1. **YEAR()**:返回日期中的年份。
2. **MONTH()**:返回日期中的月份。
3. **DAY()**:返回日期中的天。
4. **HOUR()**:返回时间戳中的小时。
5. **MINUTE()**:返回时间戳中的分钟。
6. **SECOND()**:返回时间戳中的秒。


SELECT YEAR('2021-10-01'); -- 输出:2021
SELECT MONTH('2021-10-01'); -- 输出:10
SELECT DAY('2021-10-01'); -- 输出:01
SELECT HOUR('2021-10-01 12:00:00'); -- 输出:12
SELECT MINUTE('2021-10-01 12:00:00'); -- 输出:00
SELECT SECOND('2021-10-01 12:00:00'); -- 输出:00


        日期和时间计算函数
1. **CURDATE()**:返回当前日期。
2. **CURRENT_DATE()**:同 `CURDATE()`。
3. **CURTIME()**:返回当前时间。
4. **CURRENT_TIME()**:同 `CURTIME()`。
5. **NOW()**:返回当前日期和时间。
6. **CURRENT_TIMESTAMP()**:返回当前日期和时间戳。


SELECT CURDATE(); -- 输出:2021-10-01
SELECT CURRENT_DATE(); -- 输出:2021-10-01
SELECT CURTIME(); -- 输出:12:00:00
SELECT CURRENT_TIME(); -- 输出:12:00:00
SELECT NOW(); -- 输出:2021-10-01 12:00:00
SELECT CURRENT_TIMESTAMP(); -- 输出:2021-10-01 12:00:00


        日期和时间转换函数
1. **FROM_UNIXTIME()**:将 UNIX 时间戳转换为日期和时间。
2. **UNIX_TIMESTAMP()**:将日期和时间转换为 UNIX 时间戳。


SELECT FROM_UNIXTIME(1633472000); -- 输出:2021-10-01 12:00:00
SELECT UNIX_TIMESTAMP('2021-10-01 12:00:00'); -- 输出:1633472000


        日期和时间差函数
1. **TIMESTAMPDIFF()**:计算两个日期或时间戳之间的差异。


SELECT TIMESTAMPDIFF(HOUR, '2021-10-01 12:00:00', '2021-10-01 14:00:00'); -- 输出:2


        日期和时间生成函数
1. **DATE_ADD()**:在日期上添加时间间隔。
2. **DATE_SUB()**:从日期中减去时间间隔。
3. **DATEDIFF()**:比较两个日期之间的差异。


SELECT DATE_ADD('2021-10-01', INTERVAL 1 DAY); -- 输出:2021-10-02
SELECT DATE_SUB('2021-10-01', INTERVAL 1 DAY); -- 输出:2021-09-30
SELECT DATEDIFF('2021-10-01', '2021-09-30'); -- 输出:1


        日期和时间格式化函数(续)
4. **DATE()**:返回日期或时间戳的日期部分。
5. **TIME()**:返回日期或时间戳的时间部分。


SELECT DATE('2021-10-01 12:00:00'); -- 输出:2021-10-01
SELECT TIME('2021-10-01 12:00:00'); -- 输出:12:00:00


         日期和时间组件函数(续)
6. **WEEK()**:返回日期是该年的第几周。
7. **QUARTER()**:返回日期所在的季度。
8. **MONTHNAME()**:返回日期中的月份名称。
9. **DAYNAME()**:返回日期中的星期名称。


SELECT WEEK('2021-10-01'); -- 输出:40
SELECT QUARTER('2021-10-01'); -- 输出:4
SELECT MONTHNAME('2021-10-01'); -- 输出:October
SELECT DAYNAME('2021-10-01'); -- 输出:Saturday


        日期和时间生成函数(续)
10. **ADDTIME()**:将时间添加到时间戳。
11. **SUBTIME()**:从时间戳中减去时间。
12. **MAKEDATE()**:创建一个日期,指定年月和天。
13. **MAKETIME()**:创建一个时间戳,指定小时、分钟和秒。


SELECT ADDTIME('2021-10-01 12:00:00', '1:30:00'); -- 输出:2021-10-01 13:30:00
SELECT SUBTIME('2021-10-01 12:00:00', '1:30:00'); -- 输出:2021-10-01 10:30:00
SELECT MAKEDATE(2021, 10); -- 输出:2021-10-01
SELECT MAKETIME(12, 0, 0); -- 输出:12:00:00


        日期和时间差函数(续)
14. **EXTRACT()**:从日期或时间戳中提取特定部分。


SELECT EXTRACT(HOUR FROM '2021-10-01 12:00:00'); -- 输出:12


        总结
        MySQL 提供了丰富的日期处理函数,可以帮助你轻松地处理和操作日期和时间数据。从格式化、组件提取、计算、转换,到生成和差值比较,这些函数涵盖了日期和时间处理的各个方面。掌握这些函数的使用,将使你在处理 MySQL 数据时更加得心应手。在实际应用中,根据具体需求选择合适的函数,可以提高工作效率并简化代码。不断练习和探索,你将能够更加熟练地运用这些日期处理函数,为你的数据库应用增添更多的功能和灵活性。

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

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

相关文章

AI壁纸号一周增加上千粉丝,轻松变现的成功案例分享

前言 随着AI绘画技术的发展,传统的互联网副业壁纸号在新的技术加持下迎来了第二春。本文将分享一位壁纸号创作者的成功案例,并为大家提供创作门槛和硬件要求等相关信息。 该项目的创作门槛极低,基本上可以由AI完成内容创作。不过&#xff0…

使用python实现一个dicom影像解析入库程序demo

简介 DICOM(Digital Imaging and Communications in Medicine)是医学图像和相关信息的国际标准。它定义了医学影像的格式和通信协议,使得不同设备和系统之间可以交换和共享医学图像和相关数据,如CT扫描、MRI图像、超声波图像等。…

代码随想录算法训练营第七天| 454.四数相加II、383.赎金信、15.三数之和、18.四数之和

系列文章目录 目录 系列文章目录454.四数相加II使用HashMap法 383.赎金信哈希解法(数组) 15.三数之和双指针法 18.四数之和双指针法 454.四数相加II 题解:该题和1.两数之和的方法是一样的,这个题的难点在于key和value分别是什么。…

发那科数控机床FanucCNC(NCGuide)仿真模拟器配置和数据采集测试

开发日记3.12 此篇用于记录发那科数控机床(Fanuc CNC)采集程序开发中,用虚拟机做测试时,虚拟机的配置和使用以支持采集软件开发和测试。 配置虚拟机使用仿真软件 下载VMware15 「链接:https://pan.xunlei.com/s/VNsl9Gmb14ANBiiNlsT7vA2LA…

Day15 面向对象进阶——接Day14

Day15 面向对象进阶——接Day14 文章目录 Day15 面向对象进阶——接Day14一、访问修饰符二、Object三、深入String的equals()方法四、final 一、访问修饰符 1、含义:修饰类、方法、属性,定义使用的范围 2、经验: 2.1.属性一般使用private修…

springboot3 打包报错32-bit architecture x86 unsupported或者 returned non-zero result

springboot3 打包异常情况处理记录 在测试springboot3 native打包时候遇到的异常,百度和谷歌上方法都无法解决我的问题,最后记录一下我最后的原因和解决方案。 前置要求:自己处理好vs的相关内容后 报错一: [1/7] Initializing…

Vue3 前端生成随机id( 生成 UUID )

效果展示 封装工具(代码展示) 重新创建一个文件**/utils/someTools.js**,并在里面写入如下代码。 function Tools() {}Tools.prototype.guid function () {return xxxxxxxx-xxxx-4xxx-yxxx-xxxxxxxxxxxx.replace(/[xy]/g, function (c) {v…

Android SDK 开发 云托管

开发SDK,拒绝重复造轮子。 本文陈述两种SDK开发方式,第一种AAR方式;第二种远程依赖方式。 具体步骤分为: 一、如何开发SDK? 二、如何打包AAR? 三、如何打包AAR? 四、如何进行SDK远程托管? 五、如…

工业物联网平台在水务环保、暖通制冷、电力能源等行业的应用

随着科技的不断发展,工业物联网平台作为连接物理世界与数字世界的桥梁,正逐渐成为推动各行业智能化转型的关键力量。在水务环保、暖通制冷、电力能源等行业,工业物联网平台的应用尤为广泛,对于提升运营效率、降低能耗、优化管理等…

toJSONString空值被忽略解决办法 toJSONString过程中时间格式丢失问题解决办法

toJSONString空值被忽略解决办法 原代码: GcGarbageBuildingDO data gcGarbageBuildingService.get(id); result.putAll(JSON.parseObject(JSON.toJSONString(data), Map.class));查询出来的data中部分字段值为null,在toJSONString的过程中会把null值…

基于STM32的感应开关垃圾桶

1.定时器介绍 1.1 工作原理 使用精准的时基,通过硬件的方式,实现定时功能。 1.2 定时器分类 基本定时器(TIM6~TIM7)通用定时器(TIM2~TIM5)高级定时器(TIM1和TIM8) 1.3 通用定时器…

【C语言】Windows下的C语言线程编程详解

文章目录 1. 头文件1.1 windows.h1.2 process.h 2. 创建线程3. 线程同步3.1 线程同步方式3.1 互斥量(Mutex)3.2 事件(Event) 4. 线程的结束与资源管理5.线程池(简要) 在Windows平台下,C语言提供…

隧道技术和代理技术(三)

隧道技术 知识点 -隧道技术:解决不出网协议上线的问题(利用出网协议进行封装出网) -代理技术:解决网络通讯不通的问题(利用跳板机建立节点后续操作) 内环境示意图,方便理解 思路:…

【网络原理】UDP协议的详细解析

文章目录 🎄UDP协议概念🌲UDP协议端格式🎄UDP的特点🌸无连接🌸不可靠传输🌸面向数据报🌸缓冲区🌸全双工🌸大小受限 🍀基于UDP的应用层协议🎍扩展问…

(BAT向)Java岗常问高频面试汇总:MyBatis 微服务 Spring 分布式 MySQL等

看面试题可以是为了面试,也可以是对自己学到的东西的一种查漏补缺,更加深刻的去了解一些核心知识点 Spring面试高频问题 问题一:谈 需要zi料 绿色徽【vip1024b】 谈你对spring IOC 和 DI 的理解,它们有什么区别? **问题…

全球首个AI程序员Devin诞生,真的不再需要程序员了吗?

前言 今年到底是怎么回事?前有Sora(首个文生视频大模型)独领风骚,后有Mistral(号称世界第二语言大模型)横刀立马,甚至Claude3的热度都还没有过,今天一则更炸裂的消息就爆出,世界上第一个AI程序…

代码贴--链表--数据机构

本博客将记录链表代码(单链表)&#xff0c;后续其他链表和其他数据结构内容请看我的其他博客 头文件(SList.h) #pragma once #include<iostream> #include<bits/stdc.h> using namespace std;typedef int SLTDataType;struct SListNode {int data;struct SListNo…

windows系统玩游戏找不到d3dx9_43.dll缺失,无法启动此程序的解决方法

今日&#xff0c;我们要深入讨论d3dx9_43.dll文件的重要性及其缺失问题。最近&#xff0c;我也遇到了这个文件丢失的困扰&#xff0c;因此想借此机会与大家分享如何解决d3dx9_43.dll缺失的问题。 一.电脑d3dx9_43.dll丢失会提示什么&#xff1f; 关于电脑提示d3dx9_43.dll丢失…

【人力资源开发】某主题公园人力资源开发管理咨询项目纪实

虽然很多企业将“人事部”改为“人力资源部”&#xff0c;但是企业的人力资源管理水平却仍停留在“人事管理”的阶段。该主题公园也是如此。随着公园的不断发展&#xff0c;其人力资源管理问题逐渐显露&#xff0c;而管理者也不清楚问题的根源在哪里&#xff0c;只能采取“头疼…

AWS入门实践-AWS CLI工具的使用介绍

AWS CLI&#xff08;Amazon Web Services Command Line Interface&#xff09;是一个强大的工具&#xff0c;它允许您直接从命令行与AWS服务进行交互。这不仅可以加快许多任务的处理速度&#xff0c;而且还可以通过脚本自动化。 一、AWS CLI工具的安装 1、Windows 安装下载…