【SQL】写SQL查询时,常用到的日期函数

我们在做SQL的查询,日期函数是我们经常会用得到的函数,可以方便调用用于处理日期和时间数据。

以下是一些常见的日期函数及其用法示例:

1. 直接报出日期和时间

  • CURRENT_DATE:返回当前日期。
  • NOW():返回当前日期和时间。

示例

sql 复制代码
SELECT CURRENT_DATE; -- 2024-07-09
SELECT NOW(); -- 2024-07-09 10:00:00

2. 将完整的日期和时间,拆分成具体的部分

  • YEAR(date):从日期中提取年份。
  • MONTH(date):从日期中提取月份。
  • DAY(date):从日期中提取日。
  • HOUR(time):从时间中提取小时。
  • MINUTE(time):从时间中提取分钟。

示例

sql 复制代码
SELECT YEAR('2024-07-09'); -- 2024
SELECT MONTH('2024-07-09'); -- 7
SELECT DAY('2024-07-09'); -- 9
SELECT HOUR('10:30:00'); -- 10
SELECT MINUTE('10:30:00'); -- 30

3. 计算日期和时间的间隔

  • DATE_ADD(date, INTERVAL value unit):给日期添加一个时间间隔。
  • DATE_SUB(date, INTERVAL value unit):从日期减去一个时间间隔。

示例

sql 复制代码
SELECT DATE_ADD('2024-07-09', INTERVAL 1 DAY); -- 2024-07-10
SELECT DATE_SUB('2024-07-09', INTERVAL 1 MONTH); -- 2024-06-09

4. 格式化日期和时间

  • DATE_FORMAT(date, format):按照指定格式返回日期。

示例

sql 复制代码
SELECT DATE_FORMAT('2024-07-09 10:30:00', '%Y-%m-%d %H:%i:%s'); -- 2024-07-09 10:30:00

5. 计算两个日期之间的日期差

  • DATEDIFF(date1, date2):计算两个日期之间的天数差。

示例

sql 复制代码
SELECT DATEDIFF('2024-07-10', '2024-07-09'); -- 1

6. 转换日期格式

  • STR_TO_DATE(string, format):将符合特定格式的字符串转换为日期格式。

示例

sql 复制代码
SELECT STR_TO_DATE('2024-7-9', '%Y-%m-%d'); -- 2024-07-09

7. 星期和季度

  • WEEKDAY(date):返回给定日期是星期几(0 = 星期一,1 = 星期二,...,6 = 星期日)。
  • QUARTER(date):返回日期所在的季度。

示例

sql 复制代码
SELECT WEEKDAY('2024-07-09'); -- 返回星期几的数字
SELECT QUARTER('2024-07-09'); -- 3

SQL的时间函数,在我们写查询的时候会比较方便使用,可以现拿现取!

相关推荐
剩下了什么3 小时前
MySQL JSON_SET() 函数
数据库·mysql·json
山峰哥4 小时前
数据库工程与SQL调优——从索引策略到查询优化的深度实践
数据库·sql·性能优化·编辑器
较劲男子汉4 小时前
CANN Runtime零拷贝传输技术源码实战 彻底打通Host与Device的数据传输壁垒
运维·服务器·数据库·cann
java搬砖工-苤-初心不变4 小时前
MySQL 主从复制配置完全指南:从原理到实践
数据库·mysql
山岚的运维笔记6 小时前
SQL Server笔记 -- 第18章:Views
数据库·笔记·sql·microsoft·sqlserver
roman_日积跬步-终至千里7 小时前
【LangGraph4j】LangGraph4j 核心概念与图编排原理
java·服务器·数据库
汇智信科7 小时前
打破信息孤岛,重构企业效率:汇智信科企业信息系统一体化运营平台
数据库·重构
野犬寒鸦7 小时前
从零起步学习并发编程 || 第六章:ReentrantLock与synchronized 的辨析及运用
java·服务器·数据库·后端·学习·算法
WHD3068 小时前
苏州数据库(SQL Oracle)文件损坏修复
hadoop·sql·sqlite·flume·memcached
晚霞的不甘8 小时前
揭秘 CANN 内存管理:如何让大模型在小设备上“轻装上阵”?
前端·数据库·经验分享·flutter·3d