首页 > 数据库 >MySQL 中单独获取已知日期的年月日

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

时间:2025-01-20 22:36:17浏览次数:1  
标签:01 提取 已知 日期 MySQL date 15 年月日 event

在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

标签:01,提取,已知,日期,MySQL,date,15,年月日,event
From: https://www.cnblogs.com/lawutuobang/p/18682605

相关文章

  • mysql 获取当前时间戳13
    mysql获取当前时间戳13在MySQL中,您可以使用CURRENT_TIMESTAMP或NOW()函数来获取当前的时间戳。这将以'YYYY-MM-DDHH:MM:SS'格式返回当前的日期和时间。如果您需要的是一个UNIX时间戳(即自1970年1月1日以来的秒数),您可以使用UNIX_TIMESTAMP()函数。以下是获取当前UN......
  • MySQL Switch Case
    MySQLSwitchCase123 在MySQL中,CASE语句用于根据条件返回值。当第一个条件满足时,它就会停止读取并返回结果。如果没有条件为真,则返回ELSE子句中的值。如果没有ELSE部分且没有条件为真,则返回NULL1。示例SELECT OrderID,Quantity,CASEWHEN Quantity>30 ......
  • 【数据库】详解MySQL数据库索引
    目录1.介绍2.索引概述2.1.优缺点3.索引结构3.1.B+Tree索引3.2.Hash索引4.索引分类5.索引语法5.1.创建索引5.2.查看索引5.3.删除索引6.SQL性能分析6.1.慢查询日志6.2.profile详情6.3.explain执行计划7.索引使用7.1索引使用原则7.1.1.最左前缀法则7.1.2.索引......
  • Mysql的学习
    Mysql建立索引优化:sql优化:为了解决下面的索引失效问题序列索引优化:解决orderby的关键在于提前在索引中就给好排序解决limit优化:利用id的子查询解决了回表查询然后提升了效能。关于count()的优化:`关于COUNT()的效率问题:COUNT()是用来统计记录数量的函数。不同写法的......
  • JAVA开源毕业设计 在线课程管理系统 Vue.JS+SpringBoot+MySQL
    本文项目编号T137,文末自助获取源码\color{red}{T137,文末自助获取源码}......
  • 部署mysql 1主+3从
    当前准备了4台虚拟机,每台虚拟机都是4核8G,200G硬盘192.168.10.211master192.168.10.212 192.168.10.213192.168.10.214先在master上安装mysql-server然后登录,因为我这里安装好之后是空密码mysql-uroot-p直接登陆,然后执行以下sqlCREATEUSER'replica'@'%'ID......
  • 深入解析:Postgres 和 MySQL 的核心差异与选择建议
    几十年来,关系数据库为无数应用程序提供了支持,它们仍然是许多现代系统的支柱。说到可用于生产的选项,有两种最为广泛使用的数据库,即PostgreSQL和MySQL。两者都提供了可靠的性能、可靠性和社区支持,但它们在处理数据的方式、功能集和配置难易程度方面存在明显差异。了解这些细微差......
  • MySql操作指南7-数据验证与错误处理
    在使用Go语言访问MySQL数据库时,数据验证和错误处理是确保应用程序稳定性与数据完整性的核心环节。此外,日志管理对于问题追踪和系统调试具有重要作用。本文将介绍数据验证、错误处理以及日志记录与追踪的相关内容。通过这些技术,可以显著提高系统的健壮性和可维护性。 1、......
  • MySQL的count()方法慢
    COUNT()方法概述COUNT() 方法是MySQL中常用的聚合函数之一,用于统计满足特定条件的记录数量。虽然 COUNT()方法功能强大,但在处理大数据量时,执行速度可能会变慢。这篇文章将详细分析 COUNT()方法变慢的原因,并提供优化方案。COUNT()方法慢的原因1.表数据量大当表中记录数非......
  • MySQL里面的时间与UNIX时间戳,解决2038年问题的思考
    当前时间:NOW()当前时间:NOW()函数,传入参数是一个整数类型,传入参数可以是:空(0)、1~6;代表时间精度(秒后面的精度)。SELECTNOW(),NOW(0),NOW(1),NOW(2),NOW(3),NOW(4),NOW(5),NOW(6);如下:NOW()NOW(0)NOW(1)NOW(2)2025-01-2009:47:012025-01-2009:47:012025-01-......