一篇整理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):返回年份
      • format 表达式

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 表达式

可以使用的格式有:
格式 描述
%Y 年,4%y 年,2%j 年的天 (001-366)

%m 月,数值(00-12)
%c 月,数值(0-12)
%d 月的天,数值(00-31)
%e 月的天,数值(0-31)
%D 带有英文后缀的月中的天

%T 时间, 24-小时 (hh:mm:ss)
%r 时间,12-小时(hh:mm:ss AM 或 PM)
%H 小时 (00-23)
%h 小时 (01-12)
%I 小时 (01-12)
%k 小时 (0-23)
%l 小时 (1-12)
%i 分钟,数值(00-59)
%S 秒(00-59)
%s 秒(00-59)
%f 微秒
%p AM 或 PM

%M 月名
%b 缩写月名
%W 星期名
%a 缩写星期名

%U 周 (00-53) 星期日是一周的第一天
%u 周 (00-53) 星期一是一周的第一天
%V 周 (01-53) 星期日是一周的第一天,与 %X 使用
%v 周 (01-53) 星期一是一周的第一天,与 %x 使用
%w 周的天 (0=星期日, 6=星期六)
%X 年,其中的星期日是周的第一天,4 位,与 %V 使用
%x 年,其中的星期一是周的第一天,4 位,与 %v 使用

你可能感兴趣的:(mysql)