mysql 日期函数

最近一段时间带着几个人一起做了好多项目上的需求,有在新的微服务项目实现,也有在旧系统上做开发。在做代码review的过程中,看着每个人写sql都有着不一样的实现,让我看到了自己的不足,有些函数自己都不知道,从来都没有用过。所以参照mysql文档开始学习,点滴积累。

1. ADDDATE()

1)说明:ADDDATE()函数有两种使用形式,第一种使用和DATE_ADD()同义,可指定计算间隔时 间的单位,年,月,日,小时都行;而第二种使用形式是指按天给指定日期加间隔值,此种用法DATE_ADD()函数是不支持的。

2)语法:ADDDATE(date,INTERVAL expr unit),ADDDATE(expr,days)

3)实例:
mysql 日期函数_第1张图片

2. ADDTIME()

1)说明:ADDTIME()函数是指将expr2和expr1相加,返回的结果。expr1可以是一个时间或时间表达式,expr2是一个时间表达式。

2)语法:ADDTIME(expr1,expr2)

3)实例:
mysql 日期函数_第2张图片

3. CURDATE()

1)说明:返回当前日期,格式为’YYYY-MM-DD’ 或者 ‘YYYYMMDD’,取决于是将此函数当字符串还是数字型使用。

2)语法:CURDATE(),和CURRENT_DATE和CURRENT_DATE()同义。

3) 实例:
mysql 日期函数_第3张图片

4. DATEDIFF()

1)说明:返回两个日期或日期时间的间隔天数,但仅仅只有日期参与计算。

2)语法:DATEDIFF(expr1,expr2)。

3) 实例:
mysql 日期函数_第4张图片

5. DATE_FORMAT()

1)说明:用于以不同的格式显示日期/时间数据。

2)语法:DATE_FORMAT(date,format)。

3) 实例:
mysql 日期函数_第5张图片

4) 附录:对不同说明符的描述

格式 描述
%a 星期,缩写(Sun..Sat)
%b 月,缩写(Jan..Dec)
%c 月,数值(0..12)
%D 带英文后缀的天(0th,1st,2nd,3rd,…)
%d 月的天,数值(00…31)
%e 月的天,数值(0..31)
%f 微秒
%H 小时(00-23)
%h 小时(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)
%W 星期名(Sunday..Saturday)
%w 周的天(0=星期日,6=星期六)
%Y 年,4位
%y 年,2位

6. STR_TO_DATE()

1)说明:和DATE_FORMAT()是相反的过程,DATE_FORMAT()是将日期以字符串形式输出,而STR_TO_DATE()是指将字符串转换为日期输出,如果从字符串提取出的是一个非法的日期,时间或时间日期,那么此函数会返回null,并产生警告。

2)语法:STR_TO_DATE(str,format)。

3) 实例:
mysql 日期函数_第6张图片

你可能感兴趣的:(#,MySQL)