一篇整理MYSQL常用日期函数的文章,先收藏,以便不时之需
文章仅供参考,不包含全部函数
文章目录
- MySQL常用的日期函数(标★号为很常用)
- 1.ADDDATE(d,n):计算起始日期 d 加上 n 天的日期
- 2.ADDTIME(t,n):时间 t 加上 n 秒的时间
- 3.CURDATE()/CURRENT_DATE():返回当前日期
- 4.CURTIME()/CURRENT_TIME:返回当前时间
- 5.CURRENT_TIMESTAMP():返回当前日期和时间
- 6.★DATE():从日期或日期时间表达式中提取日期值
- 7.★DATEDIFF(d1,d2):计算日期 d1->d2 之间相隔的天数
- 8.★★★DATE_FORMAT(d,f):按表达式 f的要求显示日期 d(表达式见文章末尾)
- 9.★DAY(d):返回日期值 d 的日期部分
- 10.★DAYNAME(d):返回日期 d 是星期几,如 Monday,Tuesday
- 11.★DAYOFMONTH(d):计算日期 d 是本月的第几天
- 12.★DAYOFWEEK(d):日期 d 今天是星期几,1 星期日,2 星期一,以此类推
- 13.★LOCALTIME()/NOW()/SYSDATE():返回当前日期和时间
- 14.★STR_TO_DATE(string, f):将字符串转变为日期(f表达式见文章末尾)
- 15.★TIME_FORMAT(t,f):按表达式 f 的要求显示时间 t(f表达式见文章末尾)
- 16.★TIMEDIFF(time1, time2):计算时间差值
- 17.★YEAR(d):返回年份
MySQL常用的日期函数(标★号为很常用)
1.ADDDATE(d,n):计算起始日期 d 加上 n 天的日期
例:
SELECT ADDDATE("2017-06-15", INTERVAL 10 DAY); --2017-06-25
2.ADDTIME(t,n):时间 t 加上 n 秒的时间
例:
SELECT ADDTIME('2011-11-11 11:11:11', 5) --2011-11-11 11:11:16 (秒)
3.CURDATE()/CURRENT_DATE():返回当前日期
例:
SELECT CURDATE(); --2018-09-19
例:SELECT CURRENT_DATE(); --2018-09-19
4.CURTIME()/CURRENT_TIME:返回当前时间
例:
SELECT CURTIME(); --19:59:02
例:SELECT CURRENT_TIME(); --19:59:02
5.CURRENT_TIMESTAMP():返回当前日期和时间
例:
SELECT CURRENT_TIMESTAMP(); --2018-09-19 20:57:43
6.★DATE():从日期或日期时间表达式中提取日期值
例:
SELECT DATE("2017-06-15"); --2017-06-15
7.★DATEDIFF(d1,d2):计算日期 d1->d2 之间相隔的天数
例:
SELECT DATEDIFF('2001-01-01','2001-02-02') --32
8.★★★DATE_FORMAT(d,f):按表达式 f的要求显示日期 d(表达式见文章末尾)
例:
SELECT DATE_FORMAT('2020-01-01 11:11:11','%Y-%m-%d') --2020-01-01
9.★DAY(d):返回日期值 d 的日期部分
例:
SELECT DAY("2017-06-15"); ---15
10.★DAYNAME(d):返回日期 d 是星期几,如 Monday,Tuesday
例:
SELECT DAYNAME('2011-11-11 11:11:11') --Friday
11.★DAYOFMONTH(d):计算日期 d 是本月的第几天
例:
SELECT DAYOFMONTH('2011-11-11 11:11:11') --11
12.★DAYOFWEEK(d):日期 d 今天是星期几,1 星期日,2 星期一,以此类推
例:
SELECT DAYOFWEEK('2019-12-24') --3 就是星期二
13.★LOCALTIME()/NOW()/SYSDATE():返回当前日期和时间
例:
SELECT LOCALTIME() --2019-12-24 17:39:57
例:
SELECT NOW() --2019-12-24 17:39:57
14.★STR_TO_DATE(string, f):将字符串转变为日期(f表达式见文章末尾)
例:
SELECT STR_TO_DATE("2019-12-24 17:39:57", "%Y-%m-%d"); --2019-12-24
15.★TIME_FORMAT(t,f):按表达式 f 的要求显示时间 t(f表达式见文章末尾)
例:
SELECT TIME_FORMAT('11:11:11','%r') --11:11:11 AM
16.★TIMEDIFF(time1, time2):计算时间差值
例:
SELECT TIMEDIFF("13:10:11", "13:10:10"); --00:00:01
17.★YEAR(d):返回年份
例:
SELECT YEAR("2017-06-15"); --2017
format 表达式
可以使用的格式有:
格式 描述
%a 缩写星期名
%b 缩写月名
%c 月,数值
%D 带有英文前缀的月中的天
%d 月的天,数值(00-31)
%e 月的天,数值(0-31)
%f 微秒
%H 小时 (00-23)
%h 小时 (01-12)
%I 小时 (01-12)
%i 分钟,数值(00-59)
%j 年的天 (001-366)
%k 小时 (0-23)
%l 小时 (1-12)
%M 月名
%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 星期名
%w 周的天 (0=星期日, 6=星期六)
%X 年,其中的星期日是周的第一天,4 位,与 %V 使用
%x 年,其中的星期一是周的第一天,4 位,与 %v 使用
%Y 年,4 位
%y 年,2 位