MySQL 中的常用日期函数

MySQL 中的常用日期函数:

函数描述
NOW()返回当前的日期和时间
CURDATE()返回当前的日期
CURTIME()返回当前的时间
DATE()提取日期或日期/时间表达式的日期部分
EXTRACT()返回日期/时间按的单独部分
DATE_ADD()给日期添加指定的时间间隔
DATE_SUB()从日期减去指定的时间间隔
DATEDIFF()返回两个日期之间的天数
DATE_FORMAT()用不同的格式显示日期/时间

MySQL 使用下列数据类型在数据库中存储日期或日期/时间值

  • DATE - 格式 YYYY-MM-DD
  • DATETIME - 格式: YYYY-MM-DD HH:MM:SS
  • TIMESTAMP - 格式: YYYY-MM-DD HH:MM:SS
  • YEAR - 格式 YYYY 或 YY

函数说明:

1、NOW()  :返回当前的日期和时间
2、CURDATE()  :  返回当前的日期
3、CURTIME()  :  返回当前的时间

       示例如下:

       

4、DATE()  :  提取日期或日期/时间表达式的日期部分

      示例如下:

      

5、EXTRACT()  :  函数用于返回日期/时间的单独部分,比如年、月、日、小时、分钟等等。

      语法:EXTRACT(unit FROM date)

      unit 的可选值:

YEARMICROSECONDDAY_MICROSECONDHOUR_MICROSECOND
MONTHWEEKDAY_SECONDHOUR_SECOND
DAYQUARTERDAY_MINUTEHOUR_MINUTE
HOURSECONDDAY_HOURMINUTE_MICROSECOND
MINUTESECOND_MICROSECONDYEAR_MONTHMINUTE_SECOND

    示例如下:

    

6、DATE_ADD()  :  给日期添加指定的时间间隔

      语法:DATE_ADD(date,INTERVAL expr type)

      type 的可选值和第五点中的unit值一样

      示例如下:

      

7、DATE_SUB()  :    从日期减去指定的时间间隔

     语法:DATE_SUB(date,INTERVAL expr type)

     type 的可选值和第五点中的unit值一样

     示例如下:

    

8、DATEDIFF()    返回两个日期之间的天数

      语法: DATEDIFF(date1,date2)

      示例如下:

      

9、DATE_FORMAT()    函数用于以不同的格式显示日期/时间数据。
      语法:DATE_FORMAT(date,format)

      date 参数是合法的日期。format 规定日期/时间的输出格式。

      可以使用的格式有:

格式描述格式描述
%a缩写星期名%pAM 或 PM
%b缩写月名%r时间,12-小时(hh:mm:ss AM 或 PM)
%c月,数值%S秒(00-59)
%D带有英文前缀的月中的天%s秒(00-59)
%d月的天,数值(00-31)%T时间, 24-小时 (hh:mm:ss)
%e月的天,数值(0-31)%U周 (00-53) 星期日是一周的第一天
%f微秒%u周 (00-53) 星期一是一周的第一天
%H小时 (00-23)%V周 (01-53) 星期日是一周的第一天,与 %X 使用
%h小时 (01-12)%v周 (01-53) 星期一是一周的第一天,与 %x 使用
%I小时 (01-12)%W星期名
%i分钟,数值(00-59)%w周的天 (0=星期日, 6=星期六)
%j年的天 (001-366)%X年,其中的星期日是周的第一天,4 位,与 %V 使用
%k小时 (0-23)%x年,其中的星期一是周的第一天,4 位,与 %v 使用
%l小时 (1-12)%Y年,4 位
%M月名%y年,2 位
%m月,数值(00-12)

     示例如下:

     

10、本文的SQL汇集:

-- 1、2、3
SELECT NOW(),CURDATE(),CURTIME();

-- 4
SELECT DATE(NOW());

-- 5、
SELECT NOW(),
EXTRACT(YEAR FROM NOW()) AS Year,
EXTRACT(MONTH FROM NOW()) AS Month,
EXTRACT(DAY FROM NOW()) AS Day,
EXTRACT(HOUR FROM NOW()) AS Hour,
EXTRACT(MINUTE FROM NOW()) AS MINUTE,
EXTRACT(SECOND FROM NOW()) AS Second;

-- 6、一个星期后的今天
SELECT DATE_ADD(NOW(),INTERVAL 7 DAY) AS A_week_later;

-- 7、去年的今天
SELECT DATE_SUB(CURRENT_DATE(),INTERVAL 1 YEAR) AS Today_last_year;

-- 8、
SELECT DATEDIFF('2020-04-22','1998-01-11') AS DifferDate;

-- 9、
SELECT DATE_FORMAT(NOW(),'%b %d %Y %h:%i %p')  UNION ALL
SELECT DATE_FORMAT(NOW(),'%m-%d-%Y') 		   UNION ALL
SELECT DATE_FORMAT(NOW(),'%d %b %y')           UNION ALL
SELECT DATE_FORMAT(NOW(),'%d %b %Y %T:%f') ;

若还想了解一下SQL Server的日期函数,可点击这里

参考资料:SQL Date 函数 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值