MySQL 中单独获取已知日期的年月日

news/2025/1/20 22:24:24/文章来源:https://www.cnblogs.com/lawutuobang/p/18682605

在MySQL中,处理日期和时间是一项常见任务。通常,我们需要从已知的日期中提取年、月、日等部分信息。MySQL 提供了一些内置函数,可以方便地进行这些操作。本文将详细介绍如何在MySQL中单独获取已知日期的年、月、日部分。

一、提取年份(Year)

要从日期中提取年份,可以使用 YEAR() 函数。这个函数接受一个日期参数,并返回该日期的年份部分。

示例

假设我们有一个名为 events 的表,包含一个名为 event_date 的日期列。我们可以通过以下查询提取 event_date 中的年份:

SELECT event_date, YEAR(event_date) AS year
FROM events;
​
 
 

输出结果

event_date year
2023-07-01 2023
2024-01-15 2024

二、提取月份(Month)

要从日期中提取月份,可以使用 MONTH() 函数。这个函数接受一个日期参数,并返回该日期的月份部分(1到12)。

示例

同样地,从 event_date 中提取月份:

SELECT event_date, MONTH(event_date) AS month
FROM events;
​
 
 

输出结果

event_date month
2023-07-01 7
2024-01-15 1

三、提取日期(Day)

要从日期中提取日期部分,可以使用 DAY() 函数。这个函数接受一个日期参数,并返回该日期的天数部分(1到31)。

示例

从 event_date 中提取日期部分:

SELECT event_date, DAY(event_date) AS day
FROM events;
​
 
 

输出结果

event_date day
2023-07-01 1
2024-01-15 15

四、综合示例

我们可以将上述函数结合起来,从日期中同时提取年、月、日信息。

示例

从 event_date 中提取年、月、日:

SELECT event_date, YEAR(event_date) AS year,MONTH(event_date) AS month,DAY(event_date) AS day
FROM events;
​
 
 

输出结果

event_date year month day
2023-07-01 2023 7 1
2024-01-15 2024 1 15

五、其他日期和时间函数

提取小时、分钟、秒

除了年、月、日,MySQL 还提供了提取时间部分的函数,例如 HOUR()MINUTE() 和 SECOND()

示例

假设有一个名为 log_time 的时间戳列,我们可以分别提取小时、分钟和秒:

SELECT log_time, HOUR(log_time) AS hour,MINUTE(log_time) AS minute,SECOND(log_time) AS second
FROM logs;
​
 
 

输出结果

log_time hour minute second
2023-07-01 12:34:56 12 34 56
2024-01-15 23:45:01 23 45 1

提取星期几(Weekday)

可以使用 WEEKDAY() 函数提取星期几,从0(星期一)到6(星期日)。

示例

从 event_date 中提取星期几:

SELECT event_date, WEEKDAY(event_date) AS weekday
FROM events;
​
 
 

输出结果

event_date weekday
2023-07-01 5
2024-01-15 0

六、使用DATE_FORMAT函数

DATE_FORMAT() 函数允许根据指定的格式字符串来格式化日期。可以通过这种方式灵活地提取日期的各个部分。

示例

从 event_date 中提取年、月、日:

SELECT event_date, DATE_FORMAT(event_date, '%Y') AS year,DATE_FORMAT(event_date, '%m') AS month,DATE_FORMAT(event_date, '%d') AS day
FROM events;
​
 
 

输出结果

event_date year month day
2023-07-01 2023 07 01
2024-01-15 2024 01 15

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

finalshell远程连接Centos虚拟机配置固定ip地址

为虚拟机Centos的远程连接软件Finalshell或者xshell等软件配置固定ip地址提示:然后全点确定,就好了,这里就不演示了输入指令vim /etc/sysconfig/network-scripts/ifcfg-ens33BOOTPROTO=static #将ip设置为静态IPADDR="192.168.142.130" #静态ip地址,这个130是在0…

【scikit-opt库】智能算法开源库

这个开源库包含以下7个优化算法:网址:https://scikit-opt.github.io/ 使用文档:文档链接:https://scikit-opt.github.io/scikit-opt/#/en/README

【模拟电子技术】07-BJT特性曲线共射

【模拟电子技术】07-BJT特性曲线共射 我们要用三极管,那么就必须考虑输入和输出,即考虑输入特性曲线和输出特性曲线UCE固定,考虑UBE和IB的关系,就相当于一个PN结了!考虑多个变量的关系时,我们往往固定其他变量,然后看其中两个变量的关系,然后两两拿出来观察。三极管有三…

ssm日记04

发现springboot实在是太方便了,虽然还没有具体写过案例,不过直接免去一大堆配置真的太舒服了,明天会接着写案例,掌握是ssm整合springboot 这是学习一个小时的视频

ssm日记01

大前天 即2025.1.15-17学习了spring的前后台联合案例 就是springmvc的ssm整合包括异常处理的方法跟着敲了一边代码,不知道之后会不会使用或者说自己敲一遍,或许到自己跟着视频写案例才会使用到,或者说自己写一个小项目的时候才会用到 写这个异常处理受益匪浅,知道了从系统异…

ssm日记

前天即1.18号学习了springmvc的拦截器知识 但是好像用的不多 拦截器是相对于过滤器 是在请求进入web容器之后拦截和审核的其中主要是实现一个接口的三个方法分别是preHandle postHandle afterCompletion有相关执行顺序 这是代码和注释

学习ssm日记

补发一下前几次的学习日记 这是前两天在学maven高级的代码 都是自己敲得跟着视频 学习了分模块开发和父工程的创建以及关于依赖和pom文件相关知识

OpenWRT配置旁路由/中继模式,同时配置作为NAS必备的IPv6公网IP

1. 环境和要达成的目标 1.1 目标 主路由已配置好拨号,DHCP,IPv6 已刷OpenWRT路由B70作为中继路由,提高覆盖,解决一些老旧只能设备接入问题。 OpenWRT路由同时插入移动硬盘,配置WebDAV和smba作为NAS使用,所以此路自身要能获取到IPv6地址。 我的OpenWRT路由是极路由4,刷的…

【网关系统】通用设计

本文准备围绕七个点来讲网关,分别是网关的基本概念、网关设计思路、网关设计重点、流量网关、业务网关、常见网关对比,对基础概念熟悉的朋友可以根据目录查看自己感兴趣的部分。 一、什么是网关 网关,很多地方将网关比如成门, 没什么问题, 但是需要区分网关与网桥的区别,…

一文告诉你Linux下如何用C语言实现ini配置文件的解析和保存

嵌入式项目开发中,会有很多功能模块需要频繁修改参数,Linux下我们可以通过ini格式的文件保存配置信息。 本文通过开源库iniparser,详细讲解如何用C语言实现ini文件的参数解析和配置保存。 本文代码实例获取方式见文末。 一、ini文件 1 什么是 ini文件INI(Initialization F…

Mysql的学习

Mysql建立 索引优化: sql优化: 为了解决下面的索引失效问题序列索引优化:

中考英语优秀范文-014 The hero in my heart 我心中的英雄

1 写作要求 自古以来,人们对英雄的定义没有统一的标准。英雄可以是科学家、军人、运动员,也可以是医生、保安或外卖骑手。假如你是学校广播站的一名英语播报员,明天你准备向大家介绍一位你心目中的英雄,请你根据下面的要点提示,写一篇英语广播稿。 1 须包含提示中的所有内…