MySQL: 函数-日期篇

一丶获取日期,时间

函数用法

CURDATE()

CURRENT_DATE()

返回当前日期,只包含年,月,日(效果相同)

CURTIME()

CURRENT_TIME()

返回当前时间,只包含时,分,秒(效果相同)

NOW() / SYSDATE() /CURRENT_TIMESTAMP() 

LOCALTIME()  

LOCALTIMESTAMP()

返回当前系统日期和时间(效果相同)
UTC_DATE()返回UTC(世界标准时间)日期
UTC_TIME()返回UTC(世界标准时间)时间

二丶日期与时间戳的转换

函数用法
UNIX_TIMESTAMP()以UNIX时间戳的形式返回当前时间,
UNIX_TIMESTAMP(date)将时间date以UNIX时间戳的形式返回
FROM_UNIXTIME(time)将UNIX时间的时间转换为普通格式的时间

三丶获取月份,星期,星期数,天数等

函数用法
函数返回具体的日期值

YEAR(date)

MONTH(date)

DAY(date)

返回具体的日期值

HOUR(time)

MINUTE(time)

SECOND(time)

返回具体的时间值
MONTHNAME(date)返回月份名称,如: January,...
DAYNAME(date)返回星期几名称
WEEKDAY(date)返回周几,注意: 周一是0,周二是1,...,周六是6
QUARTER(date)返回日期对应的季度,范围1-4

WEEK(date)

WEEKOFYEAR(date)

返回一年中的第几周(效果相同)
DAYOFYEAR(date)返回日期是一年中的第几天
DAYOFMONTH(date)返回日期位于所在月份的第几天
DAYOFWEEK(date)返回周几,注意: 周日是1,周一是2,...,周六是7

四丶日期的操作函数

函数用法
EXTRACT (type FROM date)返回指定日期中特定的部分,type指定返回的值
type取值含义
MICROSECOND返回毫秒数
SECOND返回秒数
MINUTE返回分钟数
HOUR返回小时数
DAY返回天数
WEEK返回日期在一年中的第几个星期
MONTH返回日期在一年中的第几个月
QUARTER返回日期在一年中的第几个季度
YEAR返回日期的年份
SECOND_MICROSECOND返回秒和毫秒值
MINUTE_MICROSECOND返回分钟和毫秒值
MINUTE_SECOND返回分钟和秒值
HOUR_MICROSECOND返回小时和毫秒值
HOUR_SECOND返回小时和秒值
HOUR_MINUTE返回小时和分钟值
DAY_MICROSECOND返回天和毫秒值
DAY_SECOND返回天和秒值
DAY_MINUTE返回天和分钟值
DAY_HOUR

返回天和小时

YEAR_MONTH返回年和月

五丶时间和秒钟的转换

函数用法
TIME_TO_SEC(time)将time转为为秒并返回结果,转化公式: 小时*3600+分钟*60+秒
SEC_TO_TIME(second)将second转为为包含小时,分钟和秒的时间

六丶计算日期和时间

(第一组)

函数用法

DATE_ADD(datetime,INTERVAL expr type)

ADDDATE(date,INTERVAL expr type)

返回给定日期时间相差INTERVAL时间段的日期时间(说白了就是返回datetime加上exper type后的时间,其中INTERVAL是关键字不用理会,exper是表达式,type是添加类型,例如添加一年就是: exper type ---> 1 YEAR,type有哪些下面会一一列举

DATE_SUB(date,INTERVAL expr type

SUBDATE(date,INTERVAL expr type)

返回与date相差INTERVAL时间间隔的日期
type含义
HOUR小时
MINUTE分钟
SECOND
YEAR
MONTH
DAY
YEAR_MONTH年和月
DAY_HOUR日和小时
DAY_MINUTE日和分钟
DAY_SECOND日和秒
HOUR_MINUTE小时和分钟
HOUR_SECOND小时和秒
MINUTE_SECOND分钟和秒

(第二组)

函数用法
ADDTIME(time1,time2)返回time1加上time2后的时间,当time2为一个数字时,代表的是秒,可以为负数
SUBTIME(time1,time2)返回time1减去time2后的时间,当time2为一个数字时,代表的是秒,可以为负数
DATEDIFF(date1,date2)返回date1-time2的日期间隔天数
TIMEDIFF(time1,time2)返回time1-time2的时间间隔
FROM_DAYS(N)返回从0000年1月1日起,N天后的日期
TO_DAYS(date)返回日期date距离0000年1月1日的天数
LAST_DAY(date)返回date所在月份的最后一天的日期
MAKEDATE(year,n)针对给定年份与所在年份中的天数返回一个日期
MAKETIME(hour,minute,second)给定的小时,分钟和秒组合成时间并返回
PERIOD_ADD(time,n)返回time加上n后的时间

七丶日期的格式化和解析

函数用法
DATE_FORMAT(date,fmt)按照字符串fmt格式化日期date值
TIME_FORMAT(time,fmt)按照字符串fmt格式化时间time值
GET_FORMAT(date_type,format_type)返回日期字符串的显示格式
STR_TO_DATE(str,fmt)按照字符串fmt对str进行解析,解析为一个日期

其中fmt和format_type太多了不再累述(自行查阅)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值