【MySQL新手到通关】第六章 时间日期函数

news2024/11/25 7:17:07

文章目录

  • 1.获取日期时间函数
    • 1.1 获取当前日期时间
    • 1.2 获取当前日期
    • 1.3 获取当前时间
  • 2.日期格式化★★★
    • 2.1 日期转指定格式字符串
    • 2.2 字符串转日期
  • 3.日期间隔
    • 3.1 增加日期间隔 ★★★
    • 3.2 减去一个时间间隔★★★
    • 3.3 日期相差天数(天)
    • 3.4 相差时间(小时)
  • 4.星期操作
    • 4.1 返回日期date的星期索引
  • 5.其它操作



在这里插入图片描述


MySQL的日期函数主要用来对日期和时间类型的数据进行计算、格式化和转换,能够帮助程序员更加方便地处理存储在MySQL数据库中的时间数据。使用这些函数可以实现以下功能:

格式化日期和时间:通过指定不同的日期格式输出相应的日期或时间字符串。

提取日期和时间的各个部分:提取一个时间值中的年、月、日、时、分、秒等信息。

进行日期加减操作:在一个日期值上进行加减运算,例如将某一日期加上一天或减去半个月。

返回日期时间差异:计算两个日期或时间的差值,例如计算两个日期之间相隔多少天、小时或分钟等。

对日期与时间类型进行类型转换:将日期类型转化为UNIX时间戳或者将字符串日期转化为DATE类型。

这些日期函数使得对日期时间相关操作变得十分灵活和简单,同时还可以在SQL语句中高度发挥作用,以满足各种复杂的业务需求。

以下是具体的API

1.获取日期时间函数

1.1 获取当前日期时间

获取的是当前日期时间的 年月日时分秒

SELECT NOW(); # 2023-05-11 18:21:17

在这里插入图片描述

1.2 获取当前日期

获取的是当前日期的年月日

SELECT CURRENT_DATE(); # 2023-05-11

在这里插入图片描述

1.3 获取当前时间

获取的是当前时间 时分秒

SELECT CURRENT_TIME(); # 18:22:10

在这里插入图片描述

2.日期格式化★★★

2.1 日期转指定格式字符串

SELECT DATE_FORMAT('2022-01-08 22:23:01', '%Y%m%d%H%i%s');# 20220108222301
说明:
%W 星期名字(Sunday……Saturday)
%D 有英语前缀的月份的日期(1st, 2nd, 3rd, 等等。)
%Y 年, 数字, 4 位 ★★★
%y 年, 数字, 2%a 缩写的星期名字(Sun……Sat)
%d 月份中的天数, 数字(00……31) ★★★
%e 月份中的天数, 数字(0……31)
%m 月, 数字(01……12)
%c 月, 数字(1……12)
%b 缩写的月份名字(Jan……Dec)
%j 一年中的天数(001……366)
%H 小时(00……23)
%k 小时(0……23)
%h 小时(01……12) ★★★
%I 小时(01……12)
%l 小时(1……12)
%i 分钟, 数字(00……59) ★★★
%r 时间,12 小时(hh:mm:ss [AP]M)
%T 时间,24 小时(hh:mm:ss)
%S 秒(00……59)
%s 秒(00……59)
%p AM或PM
%w 一个星期中的天数(0=Sunday ……6=Saturday )
%U 星期(0……52), 这里星期天是星期的第一天,查询指定日期属于当前年份的第几个周 ★★★
%u 星期(0……52), 这里星期一是星期的第一天

示例代码:

# 日期格式化
select date_format(now(),'%Y%m%d%H%i%s');
# 获取当前是星期几
select date_format(now(),'%Y%m%W');
# 查看当前属于一年中的第几个周 以周末作为一个循环
select date_format(now(),'%Y%U');
select date_format('20220108090109','%Y%U');

2.2 字符串转日期

将指定的字符串以指定的格式转换为日期

# 日期格式与表达式格式一致即可
SELECT STR_TO_DATE('06/01/2022', '%m/%d/%Y'); # 2022-06-01
SELECT STR_TO_DATE('20220108090109', '%Y%m%d%H%i%s'); # 2022-01-08 09:01:09

3.日期间隔

3.1 增加日期间隔 ★★★

# 间隔单位可以是DAY MONTH MINUTE WEEK YEAR SECOND HOUR
SELECT DATE_ADD(NOW(),INTERVAL 2 DAY); # 2022-01-07 22:46:39
SELECT DATE_ADD(NOW(),INTERVAL 2 MONTH); # 2022-02-06 22:47:17
SELECT DATE_ADD('2022-02-06 22:47:17',INTERVAL 2 MONTH); # 2022-04-06 22:47:17

3.2 减去一个时间间隔★★★

SELECT DATE_SUB(NOW(),INTERVAL 3 DAY); # 2022-01-03 22:49:24
SELECT DATE_SUB('2022-02-06 22:47:17',INTERVAL 2 MONTH); # 2021-12-06 22:47:17

3.3 日期相差天数(天)

select datediff('2022-01-06','2021-12-28'); -- 9

3.4 相差时间(小时)

select timediff('2022-01-06 08:08:08', '2021-12-28 09:00:00'); -- 08:08:08

4.星期操作

4.1 返回日期date的星期索引

# 返回日期date的星期索引(1=星期天,2=星期一, ……7=星期六)。这些索引值对应于ODBC标准。
SELECT DAYOFWEEK(NOW())-1;

# 返回date的星期索引(0=星期一,1=星期二, ……6= 星期天)
SELECT WEEKDAY(NOW())+1

5.其它操作

# 获取日
SELECT DAYOFMONTH(NOW());# 6
# 获取月份
SELECT MONTH(NOW());# 1
# 获取星期几
SELECT DAYNAME(NOW());# Thursday
# 获取第几季度
SELECT QUARTER(NOW());# 2022/1/6 --> 1

在这里插入图片描述

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

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

相关文章

VSLAM视觉里程计总结

相机模型是理解视觉里程计之前的基础。视觉里程计(VIO)主要分为特征法和直接法。如果说特征点法关注的是像素的位置差,那么,直接法关注的则是像素的颜色差。特征点法通常会把图像抽象成特征点的集合,然后去缩小特征点之…

Docker容器 和 Kubernetes容器集群管理系统

一、快速了解Docker 1. 什么是Docker的定义 Docker 是一个开源的应用容器引擎,基于Go语言并遵从 Apache2.0 协议开源。Docker 可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux 机器上,也可以…

C#,码海拾贝(23)——求解“复系数线性方程组“的“全选主元高斯消去法“之C#源代码,《C#数值计算算法编程》源代码升级改进版

using System; namespace Zhou.CSharp.Algorithm { /// <summary> /// 求解线性方程组的类 LEquations /// 原作 周长发 /// 改编 深度混淆 /// </summary> public static partial class LEquations { /// <summary&g…

【C++】利用游戏壳实现飞机大战(设计类图、开发实现)

文章目录 飞机大战飞机大战类图分析背景类&#xff08;CBackGround&#xff09;成员属性成员函数 程序类&#xff08;CPlaneApp&#xff09;成员属性成员函数 玩家类&#xff08;CPlayer&#xff09;成员属性成员函数 炮弹类&#xff08;CGunner&#xff09;成员属性成员函数 炮…

AI周报-一周发生两次Ai事件;DragGAN 问世

&#x1f680; AI 图像编辑技术 DragGAN 问世&#xff0c;用户可以通过拖拽改变汽车大小或人物表情等 近日&#xff0c;马克斯・普朗克计算机科学研究所研究者们推出了一种控制GAN的新方法DragGAN&#xff0c;用户可以通过拖拽改变汽车大小或人物表情等。 DragGAN类似于Photo…

Rk1126 实现 yolov5 6.2 推理

基于 RK1126 实现 yolov5 6.2 推理. 转换 ONNX python export.py --weights ./weights/yolov5s.pt --img 640 --batch 1 --include onnx --simplify 安装 rk 环境 安装部分参考网上, 有很多. 参考: https://github.com/rockchip-linux/rknpu 转换 RK模型 并验证 yolov562_t…

企业想提高商机转化率该如何挑选CRM系统

CRM客户管理系统可以帮助销售人员跟踪和分析潜在客户的需求、行为和偏好&#xff0c;制定合适的销售策略&#xff0c;提高商机转化率。下面我们就来说说&#xff0c;CRM系统如何加速销售商机推进。 1、跟踪客户和动态 Zoho CRM可以帮助您记录和分析客户的需求、行为和偏好&am…

8 年 SQL 人,撑不过前 6 题

抱歉各位&#xff0c;标题党了。。 前两天发布了一款 SQL 题集&#xff1a; 开发了一个SQL数据库题库小程序 <<- 戳它直达 群里小伙伴反馈&#xff0c;太简单&#xff1a; 于是&#xff0c;我又改版了下&#xff1a; 列举几题&#xff0c;大家看看难度&#xff1a; SQL S…

Python类的成员介绍

Python类的成员介绍 在Python中&#xff0c;类&#xff08;class&#xff09;是一种定义对象的模板。对象是由类创建的实例&#xff0c;它们具有属性和方法。属性是对象的变量&#xff0c;而方法是对象的函数。 定义在类中的变量也称为属性&#xff0c;定义在类中的函数也称为方…

DragGAN:interactive point-based manipulation on the generative image manifold

AI绘画可控性研究与应用清华美院课程的文字稿和PPThttps://mp.weixin.qq.com/s?__bizMzIxOTczNjQ2OQ&mid2247484794&idx1&sn3556e5c467512953596237d71326be6e&chksm97d7f580a0a07c968dedb02d0ca46a384643e38b51b871c7a4f89b38a04fb2056e084167be05&scene…

基于html+css的图展示97

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

测量平差实习心得精选三篇(合集)

测量平差实习心得精选三篇 测量平差实习心得一为期两周的实习在不断地学习、尝试、修正的过程中圆满结束了。这次实习让我对许多问题有了深刻的认识。我认识到编程的重要性&#xff0c;认识到自学能力的重要性&#xff0c;认识到从书本到实践还有很长一段路要走。 熟练掌握一门…

探索C++非质变算法:如何更高效地处理数据

前言 &#x1f4d6;欢迎大家来到小K的c专栏&#xff0c;本节将为大家带来C非质变算法的详解 &#x1f389;欢迎各位→点赞&#x1f44f; 收藏&#x1f49e; 留言&#x1f514;​ &#x1f4ac;总结&#xff1a;希望你看完之后&#xff0c;能对你有所帮助&#xff0c;不足请指…

随机数发生器设计(二)

一、软件随机数发生器组成概述 密码产品应至少包含一个随机比特生成器。 软件随机数发生器应遵循GM/T 0105-2021《软件随机数发生器设计指南》要求&#xff0c;使用SM3或SM4算法作为生成随机比特算法。 本文以SM3算法为例描述软件随机数发生器的一个设计实例。需要注意的是&a…

如何在华为OD机试中获得满分?Java实现【猜字谜】一文详解!

✅创作者&#xff1a;陈书予 &#x1f389;个人主页&#xff1a;陈书予的个人主页 &#x1f341;陈书予的个人社区&#xff0c;欢迎你的加入: 陈书予的社区 &#x1f31f;专栏地址: Java华为OD机试真题&#xff08;2022&2023) 文章目录 1、题目描述2、输入描述3、输出描述…

python爬虫——pandas的简单使用

pandas作为爬虫中最重要的包之一&#xff0c;我们要想学好爬虫&#xff0c;就必须要深入了解pandas 直接上代码 import pandas as pd import numpy as npdata pd.DataFrame(np.arange(16).reshape((4,4)),index[a,b,c,d],#如果不写列索引默认为0&#xff0c;1&#xff0c;…

基于html+css的图展示96

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

【源码解析】Nacos配置热更新的实现原理

使用入门 使用RefreshScopeValue&#xff0c;实现动态刷新 RestController RefreshScope public class TestController {Value("${cls.name}")private String clsName;}使用ConfigurationProperties&#xff0c;通过Autowired注入使用 Data ConfigurationProperti…

警惕AI换脸技术:近期诈骗事件揭示的惊人真相

大家好&#xff0c;我是可夫小子&#xff0c;《小白玩转ChatGPT》专栏作者&#xff0c;关注AIGC、读书和自媒体。 目录 1. deepswap 2. faceswap 3. swapface 总结 &#x1f4e3;通知 近日&#xff0c;包头警方公布了一起用AI进行电信诈骗的案件&#xff0c;其中福州科技公…

医院PACS系统:三维多平面重建操作使用

三维多平面重建&#xff08;MPR\CPR&#xff09;界面工具栏&#xff1a; 按钮1&#xff1a;点击此按钮&#xff0c;用鼠标拖动正交的MPR定位线&#xff0c;可以动态浏览MPR图像。 按钮2&#xff1a;点击此按钮&#xff0c;按下鼠标左键在图像上作任意勾边&#xff0c;弹起鼠标…