当前位置: 首页 > news >正文

MySQL 单行函数笔记(日期时间函数)

MySQL 单行函数笔记(日期时间函数)

MySQL 单行函数笔记(日期时间函数)


一、获取日期时间函数

函数 说明
CURDATE() / CURRENT_DATE() 获取当前日期(仅含年、月、日)
CURTIME() / CURRENT_TIME() 获取当前时间(仅含时、分、秒)
NOW() / SYSDATE() / CURRENT_TIMESTAMP() 获取当前日期+时间
UTC_DATE() 获取世界标准日期
UTC_TIME() 获取世界标准时间

示例SQL:

SELECT CURDATE(), CURTIME(), NOW(), SYSDATE(), UTC_DATE(), UTC_TIME()
FROM DUAL;

二、时间戳转换函数

函数 说明
UNIX_TIMESTAMP() 获取当前时间戳
UNIX_TIMESTAMP(日期) 日期转时间戳
FROM_UNIXTIME(时间戳) 时间戳转回标准日期时间

示例SQL:

SELECT UNIX_TIMESTAMP(), FROM_UNIXTIME(1635173853)
FROM DUAL;

三、提取年月日时分秒

函数 说明
YEAR(日期) 提取年份
MONTH(日期) 提取月份
DAY(日期) 提取天数
HOUR(时间) 提取小时
MINUTE(时间) 提取分钟
SECOND(时间) 提取秒数

示例SQL:

SELECT YEAR(CURDATE()), MONTH(CURDATE()), DAY(CURDATE())
FROM DUAL;

四、中英文月份、星期

函数 说明
MONTHNAME() 获取英文月份名
DAYNAME() 获取英文星期名
WEEKDAY() 星期索引(周一0,周日6)
DAYOFWEEK() 星期索引(周日1,周六7)

示例SQL:

SELECT MONTHNAME(CURDATE()), DAYNAME(CURDATE())
FROM DUAL;

五、季度、周数、年内天数

函数 说明
QUARTER() 获取季度(1~4)
WEEK() / WEEKOFYEAR() 一年中第几周
DAYOFYEAR() 一年中第几天
DAYOFMONTH() 当月第几天

示例SQL:

SELECT QUARTER(CURDATE()), WEEK(CURDATE()), DAYOFYEAR(CURDATE())
FROM DUAL;

六、EXTRACT 日期截取函数

EXTRACT(单位 FROM 日期) 可截取多种时间部分,常用type值:

type取值 含义
MICROSECOND 毫秒数
SECOND 秒数
MINUTE 分钟数
HOUR 小时数
DAY 天数
WEEK 一年中第几个星期
MONTH 一年中第几个月
QUARTER 一年中第几个季度
YEAR 年份
SECOND_MICROSECOND 秒和毫秒值
MINUTE_SECOND 分钟和秒值
HOUR_MINUTE 小时和分钟值
DAY_SECOND 天和秒值
YEAR_MONTH 年和月

示例SQL:

SELECT EXTRACT(MINUTE FROM NOW()), EXTRACT(WEEK FROM NOW()), EXTRACT(QUARTER FROM NOW())
FROM DUAL;

七、时分秒 ↔ 秒数转换

函数 说明
TIME_TO_SEC(时间) 时间转总秒数(公式:小时×3600 + 分钟×60 + 秒
SEC_TO_TIME(秒数) 秒数转回时分秒

示例SQL:

SELECT TIME_TO_SEC(NOW()), SEC_TO_TIME(78774)
FROM DUAL;

八、日期加减函数

函数 说明
DATE_ADD(日期, INTERVAL 数值 单位) 日期时间
DATE_SUB(日期, INTERVAL 数值 单位) 日期时间

支持的INTERVAL单位:YEAR/MONTH/DAY/HOUR/MINUTE/SECOND/YEAR_MONTH等。

示例SQL:

SELECT NOW(), DATE_ADD(NOW(), INTERVAL 1 YEAR), DATE_SUB(NOW(), INTERVAL 1 YEAR)
FROM DUAL;

九、时间加减函数

函数 说明
ADDTIME(时间, 差值) 时间增加(差值为数字时代表秒)
SUBTIME(时间, 差值) 时间减少(差值为数字时代表秒)

示例SQL:

SELECT ADDTIME(NOW(), 20), SUBTIME(NOW(), 30)
FROM DUAL;

十、日期差值计算

函数 说明
DATEDIFF(日期1, 日期2) 计算两个日期相差天数
TIMEDIFF(时间1, 时间2) 计算两个时间相差时分秒

示例SQL:

SELECT DATEDIFF(NOW(), '2021-10-01'), TIMEDIFF(NOW(), '2021-10-25 22:10:10')
FROM DUAL;

十一、天数换算函数

函数 说明
TO_DAYS(日期) 日期距离0年的总天数
FROM_DAYS(天数) 总天数转回日期

示例SQL:

SELECT TO_DAYS(NOW()), FROM_DAYS(366)
FROM DUAL;

十二、当月最后一天

函数 说明
LAST_DAY(日期) 获取当前月份最后一天日期

示例SQL:

SELECT LAST_DAY(NOW())
FROM DUAL;

十三、拼接生成日期时间

函数 说明
MAKEDATE(年份, 年内第几天) 生成指定年月日
MAKETIME(时, 分, 秒) 拼接生成时间

示例SQL:

SELECT MAKEDATE(YEAR(NOW()), 12), MAKETIME(10, 21, 23)
FROM DUAL;

十四、日期格式化与字符串转日期

函数 说明
DATE_FORMAT(日期, 格式符) 日期自定义格式化
TIME_FORMAT(时间, 格式符) 时间格式化
STR_TO_DATE(字符串, 格式符) 字符串转为标准日期

常用格式符

格式符 说明 格式符 说明
%Y 四位年 %y 两位年
%m 月份 %d 日期
%H 24小时 %h 12小时
%i 分钟 %s
%W 星期全称 %M 月份名

示例SQL:

SELECT DATE_FORMAT(CURDATE(), '%Y-%M-%D'), STR_TO_DATE('2021-October-25th', '%Y-%M-%d')
FROM DUAL;

十五、完整示例SQL

-- 日期加减与格式化综合示例
SELECT NOW() AS 当前日期时间,DATE_ADD(NOW(), INTERVAL 1 MONTH) AS 下月今天,DATE_SUB(NOW(), INTERVAL 7 DAY) AS 一周前,DATE_FORMAT(NOW(), '%Y年%m月%d日 %H:%i:%s') AS 格式化日期,DATEDIFF(NOW(), '2021-01-01') AS 距年初天数
FROM DUAL;
http://www.jsqmd.com/news/847775/

相关文章:

  • 性价比高生产的重庆轴类加工厂哪家推荐 - 品牌企业推荐师(官方)
  • UVM验证中add_typewide_sequence与add_sequence的区别与实战应用
  • 别再乱定义坐标系了!ArcGIS数据处理中坐标系问题的终极排查手册
  • 信号处理与行为金融视角下的股价波动与量化投资建模方法【附代码】
  • 5分钟极速上手:BOTW-Save-Editor-GUI 塞尔达传说存档编辑器完整指南
  • 测试工程师的代码能力:为什么测试工程师必须会写代码
  • 推荐一款PC复制粘贴增强工具
  • 瑞萨电子2019年中国市场战略与MCU/SoC产品深度解析
  • 医生私下不告诉你的健康查询真相:Perplexity健康科普查询的3个伦理盲区与2种合规替代路径
  • AI驱动的数据库性能优化
  • 实战指南:基于F3-Net与PyTorch搭建你自己的DeepFake检测器(FaceForensics++数据集)
  • Sentinel-3A OLCI 1B 级地球观测降分辨率(ERR)数据,版本 1
  • 加密货币社区 Google 官方邮件钓鱼威胁机理与防御体系研究
  • 利润增长,是设计出来的
  • STM32G0实战:用CubeMX搞定CANFD和普通CAN双通道配置(附避坑点)
  • PCB设计避坑指南:为什么你的TTP223触摸按键不灵?从布局布线到灵敏度调节全解析
  • 刚入职Perplexity的L5工程师年薪多少?7类岗位薪资中位数+股权折算表,内推通道已同步关闭
  • Gemini Nano移动端模型裁剪内幕:Google内部benchmark未披露的3种Pruning策略对比(精度仅损0.7%)
  • 从1秒到60ms:手把手教你用STM32硬件SPI驱动GC9A01 LCD,性能飙升实战
  • 别再死记硬背公式了!用动画和Python仿真带你直观理解FOC中的Clarke/Park变换与SVPWM
  • 告别资金黑洞!搭载AI风控天眼,千万级俱乐部接单平台与三角洲游戏电竞护航陪玩源码系统小程序重铸护航平台生态 - 壹软科技
  • 别再到处找教程了!Chrome、Edge、Firefox三款浏览器一键开启Kiosk模式(附快捷方式创建步骤)
  • Perplexity新闻搜索失效真相:LLM缓存机制、地域策略与时间戳偏移的三重干扰(内部技术备忘录节选)
  • RK3568开发板TB-96AI-3568CE深度评测:从核心接口到AI应用实战
  • 告别玄学:手把手教你配置I.MX6ULL的Boot引脚和eFuse,让开发板每次都能正确启动
  • 别再手画ER图、用例图了!AI可以帮你一键生成全套毕设论文图表
  • 建立记忆(KV Cache)
  • N4_02_词汇_正字法
  • N4_03_词汇_上下文定义表达式
  • 2026届最火的六大AI辅助论文网站实际效果