MySQL 中的DATE_FORMAT

在项目中需要一个需求:对数据按月份进行分组统计。查询相关资料后发现一个函数:

DATEPARAM()函数

DATEPARAM() 函数的作用:用来返回代表指定日期的指定部分的整数

语法:

DATEPARAM(指定参数,日期) 例如:DATEPARAM(dd,2018-8-8)

第一个参数来说就是传入需要获取日期的部分如:yy、mm、dd 第二个参数就是具体的日期

日期 缩写
年(year) yy或yyyy
季度(quarter) qq或q
月(month) mm或m
年的第几天(dayofyear) dy或y
天(day) dd或d
周(week) wk或ww
一周的第几天(weekday) dw
小时(Hour) hh
分钟(minute) mi或n
秒(second) ss或s
毫秒(millisecond) ms

但是 MYSQL 并不支持改函数,函数是sql server 的函数。Mysql 的解决办法: DATE_FORMAT()函数 ,用来从指定日期中返回指定的日期格式

其参数与 DATEPARAM 相反,第一个参数:指定的日期,第二个参数:需要获取的格式

格式符 说明
%a

工作日的缩写名称  (Sun..Sat)

%b

月份的缩写名称  (Jan..Dec)

%c

月份,数字形式(0..12)

%D

带有英语后缀的该月日期  (0th, 1st, 2nd, 3rd, ...)

%d

该月日期, 数字形式 (00..31)

%e

该月日期, 数字形式(0..31)

%f

微秒 (000000..999999)

%H

小时(00..23)

%h

小时(01..12)

%I

小时 (01..12)

%i

分钟,数字形式 (00..59)

%j

一年中的第几天 (001..366)

%k

小时 (0..23)

%l(小写L)

小时 (1..12)

%M

月份名称 (January..December)

%m

月份, 数字形式 (00..12)

%p

上午(AM)或下午( PM)

%r

获得时间 ,例如 (10: 11: 43 AM)

%S

秒 (00..59)

%s

秒 (00..59)

%T

时间 , 例如 (10:11:43   不加AM或PM)

%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位数)

%%

‘%’文字字符

此外,DATE_FORMAT() 函数还可以将指定的格式组合起来写

比如:

SELECT DATE_FORMAT('2019-03-09 10:18:37','%Y-%m-%d')
返回:2019-03-09
SELECT DATE_FORMAT('2019-03-09 10:18:37','%Y年%m月%d日')
返回:2019年03月09日

https://blog.csdn.net/weixin_30652879/article/details/97258860

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章