MySQL 日期时间函数
目录
整理一下我曾有所耳闻的 MySQL
日期和时间函数。
- MySQL 数据类型
- MySQL 用户管理
- MySQL 关键字查询
- MySQL 字符串函数
- MySQL 字符串连接函数
- MySQL 忘记 root 密码后重置
- MySQL 最值查询
- MySQL 日期时间函数
- MySQL 联合查询
- MySQL 查询当前年、季、月、周的第一天和最后一天
- MySQL 支持 emoji 图标的设置
- MySQL 存储引擎
- MySQL 隔离级别及其脏读不可重复读幻读
常用日期时间函数
名称 | 描述 | 备注 |
---|---|---|
ADDDATE() | 添加日期 | |
ADDTIME() | 添加时间 | |
CONVERT_TZ() | 转换不同时区 | |
CURDATE() | 返回当前日期 | |
CURRENT_DATE() 和 CURRENT_DATE | 等同于 CURDATE() | |
CURRENT_TIME() 和 CURRENT_TIME | 等同于 CURTIME() | |
CURRENT_TIMESTAMP() 和 CURRENT_TIMESTAMP | 等同于 NOW() | |
CURTIME() | 返回当前时间 | |
DATE_ADD() | 添加两个日期 | |
DATE_FORMAT() | 按指定方式格式化日期 | |
DATE_SUB() | 求解两个日期的间隔 | |
DATE() | 提取日期或日期时间表达式中的日期部分 | |
DATEDIFF() | 求解两个日期的间隔 | |
DAY() | 等同于 DAYOFMONTH() | |
DAYNAME() | 返回星期中某天的名称 | |
DAYOFMONTH() | 返回一月中某天的序号(1-31) | |
DAYOFWEEK() | 返回参数所指定的一周中某天的索引值 | |
DAYOFYEAR() | 返回一年中某天的序号(1-366) | |
EXTRACT | 提取日期中的相应部分 | |
FROM_DAYS() | 将一个天数序号转变为日期值 | |
FROM_UNIXTIME() | 将日期格式化为 UNIX 的时间戳 | |
HOUR() | 提取时间 | |
LAST_DAY | 根据参数, 返回月中最后一天 | |
LOCALTIME() 和 LOCALTIME | 等同于 NOW() | |
LOCALTIMESTAMP 和 LOCALTIMESTAMP() | 等同于 NOW() | |
MAKEDATE() | 基于给定参数年份和所在年中的天数序号, 返回一个日期 | |
MAKETIME | 根据给定小时, 分, 秒返回一个格式时间 | |
MICROSECOND() | 返回参数所对应的毫秒数 | |
MINUTE() | 返回参数对应的分钟数 | |
MONTH() | 返回传入日期所对应的月序数 | |
MONTHNAME() | 返回月的名称 | |
NOW() | 返回当前日期与时间 | |
PERIOD_ADD() | 为年-月组合日期添加一个时段 | |
PERIOD_DIFF() | 返回两个时段之间的月份差值 | |
QUARTER() | 返回日期参数所对应的季度序号 | |
SEC_TO_TIME() | 将描述转变成 HH:MM:SS 的格式 | |
SECOND() | 返回秒序号(0-59 | |
STR_TO_DATE() | 将字符串转变为日期 | |
SUBDATE() | 从给定的日期中减去一个时间区间, 相当于 DATE_SUB() | |
SUBTIME() | 计算时间差值 | |
SYSDATE() | 返回函数执行时的时间 | |
TIME_FORMAT() | 提取参数中的时间部分 | |
TIME_TO_SEC() | 将参数转化为秒数 | |
TIME() | 提取传入表达式的时间部分 | |
TIMEDIFF() | 计算时间差值 | |
TIMESTAMP() | 单个参数时, 函数返回日期或日期时间表达式; 有 2 个参数时, 将参数求和 | |
TIMESTAMPADD() | 为日期时间表达式添加一个间隔 INTERVAL | |
TIMESTAMPDIFF() | 从日期时间表达式中减去一个间隔 INTERVAL | |
TO_DAYS() | 返回转换成天数的日期参数 | |
UNIX_TIMESTAMP() | 返回一个 UNIX 时间戳 | |
UTC_DATE() | 返回当前的 UTC 日期 | |
UTC_TIME() | 返回当前的 UTC 时间 | |
UTC_TIMESTAMP() | 返回当前的 UTC 时间与日期 | |
WEEK() | 返回周序号 | |
WEEKDAY() | 返回某天在星期中的索引值 | |
WEEKOFYEAR() | 返回日期所对应的星期在一年当中的序号(1-53) | |
YEAR() | 返回年份 | |
YEARWEEK() | 返回年份及星期序号 |
日期时间函数用法
DATE_ADD()
函数
|
|
ADDTIME()
函数
|
|
CONVERT_TZ()
函数
|
|
|
|
|
|
CURRENT_DATE()
, CURRENT_DATE
函数
|
|
CURRENT_TIME()
, CURRENT_TIME
函数
|
|
NOW()
, CURRENT_TIMESTAMP()
, CURRENT_TIMESTAMP
, LOCALTIMESTAMP()
, LOCALTIMESTAMP
, LOCALTIME()
, LOCALTIME
函数
|
|
DATE_ADD()
函数
|
|
DATE_FORMAT()
, STR_TO_DATE()
函数
名称 | 描述 | 备注 |
---|---|---|
%a | 一星期中每天名称的缩写(Sun…Sat) | |
%b | 月份的缩写(Jan…Dec) | |
%c | 月份的数字表现形式(0…12) | |
%D | 带有英语后缀的一个月中的每一天的名称(0th、1st、2nd、3rd) | |
%d | 用数字形式表现的每月中的每一天(00…31) | |
%e | 用数字形式表现的每月中的每一天(0…31) | |
%f | 毫秒(000000…999999) | |
%H | 24 时制显示的小时(00…23) | |
%h | 12 时制显示的小时(01…12) | |
%I | 12 时制显示的小时(01…12) | |
%i | 以数字形式表现的分钟数(00…59) | |
%j | 一年中的每一天(001…366) | |
%k | 24 时制小时的另一种表现格式(0…23) | |
%l | 12 时制小时的另一种表现格式(1…12) | |
%M | 用完整英文名称表示的月份(January…December) | |
%m | 用数字表现的月份(00…12) | |
%p | 上午(AM)或下午(PM) | |
%r | 12 时制的时间值(hh:mm:ss, 后跟 AM 或 PM) | |
%S | 秒(00…59) | |
%s | 秒(00…59) | |
%T | 24 时制的小时(hh:mm:ss) | |
%U | 星期(00…53), 其中星期天是每星期的开始日 | |
%u | 星期(00…53), 其中星期一是每星期的开始日 | |
%V | 星期(01…53), 其中星期天是每星期的开始日, 和 %X 一起使用 | |
%v | 星期(01…53), 其中星期一是每星期的开始日, 和 %x 一起使用 | |
%W | 一星期中各日名称(Sunday…Saturday) | |
%w | 一星期中各日名称(0 代表星期日, 6 代表星期六, 以此类推) | |
%X | 某星期所处年份. 其中, 星期天是每星期的开始日, 采用 4 位数字形式表现, 和 %V一起使用 | |
%x | 某星期所处年份. 其中, 星期一是每星期的开始日, 采用 4 位数字形式表现, 和 %V 一起使用 | |
%Y | 4 位数字表示的年份 | |
%y | 2 位数字表示的年份 | |
%% | 符号 % 的字面值 | |
%x(x为斜体) | 字符 x 的字面值, x 指以上未列出的任何字符 |
|
|
DATE_SUB()
, SUBDATE()
函数
|
|
DATEDIFF()
函数
|
|
DAY()
, DAYOFMONTH()
函数
|
|
DAYNAME()
函数
|
|
DAYOFWEEK()
函数
|
|
DAYOFYEAR()
函数
|
|
EXTRACT()
函数
|
|
FROM_DAYS()
函数
|
|
HOUR()
函数
|
|
LAST_DAY()
函数
|
|
MAKEDATE()
函数
|
|
MAKETIME()
函数
|
|
MICROSECOND()
函数
|
|
MINUTE()
函数
|
|
MONTH()
函数
|
|
MONTHNAME()
函数
|
|
PERIOD_ADD()
函数
|
|
PERIOD_DIFF()
函数
|
|
QUARTER()
函数
|
|
SECOND()
函数
|
|
SEC_TO_TIME()
函数
|
|
SECOND()
函数
|
|
SUBTIME()
函数
|
|
SYSDATE()
函数
|
|
TIME()
函数
|
|
TIME_FORMAT()
函数
名称 | 描述 | 备注 |
---|---|---|
%f | 毫秒(000000…999999) | |
%H | 24 时制显示的小时(00…23) | |
%h | 12 时制显示的小时(01…12) | |
%I | 12 时制显示的小时(01…12) | |
%i | 以数字形式表现的分钟数(00…59) | |
%p | 上午(AM)或下午(PM) | |
%r | 12 时制的时间值(hh:mm:ss, 后跟 AM 或 PM) | |
%S | 秒(00…59) | |
%s | 秒(00…59) | |
%T | 24 时制的小时(hh:mm:ss) |
|
|
TIME_TO_SEC()
函数
|
|
TIMEDIFF()
函数
|
|
TIMESTAMP()
函数
|
|
TIMESTAMPADD()
函数
|
|
TIMESTAMPDIFF()
函数
|
|
TO_DAYS()
函数
|
|
WEEK()
函数
|
|
WEEKDAY()
函数
|
|
WEEKOFYEAR()
函数
|
|
YEAR()
函数
|
|
YEARWEEK()
函数
|
|
UTC_DATE()
, UTC_TIME()
, UTC_TIMESTAMP()
函数
|
|
日期时间和时间戳转换
|
|