1.详细函数解析可以去菜鸟看;
2. 记录函数文档
-- 1、时间转字符串
select date_format(now(), '%Y-%m-%d');
SELECT DATE_FORMAT('20200101',"%Y%m%d");
-- 2、时间转时间戳
select unix_timestamp(now());
-- 3、字符串转时间
select str_to_date('2016-01-02', '%Y-%m-%d %H');
-- 4、字符串转时间戳
select unix_timestamp('2016-01-02');
-- 5、时间戳转字符串
select from_unixtime(1451997924,'%Y-%d');
-- 季度查询
select last_day(concat(year(str_to_date('2021-05-31', '%Y-%m-%d')),'-',lpad(quarter(str_to_date('2021-05-31', '%Y-%m-%d'))*3,2,0),'-01'));
-- 当前时间第几季度
SELECT QUARTER('2011-11-11 11:11:11');
-- 在字符串 s1 的开始处填充字符串 s2,使字符串长度达到 len 会多次填充
SELECT LPAD('s1',6,'s2') ;
-- 返回给给定日期的那一月份的最后一天
SELECT LAST_DAY("2017-06-20");
-- 年月(202001)日期类型 处理 当前月份加 1
SELECT PERIOD_ADD('201703',1);
--获取 年月类型数据的 的月份的最后一天
SELECT LAST_DAY(DATE(CONCAT('202007','01'))); -- LAST_DAY函数获取
SELECT DATE(ADDDATE(CONCAT(PERIOD_ADD('201703',1),'01'),-1)); -- 月份加1 之后天数减1
MySQL日期格式化(format)取值范围。
值 含义
秒 %S、%s 两位数字形式的秒( 00,01, ..., 59)
分 %I、%i 两位数字形式的分( 00,01, ..., 59)
小时 %H 24小时制,两位数形式小时(00,01, ...,23)
%h 12小时制,两位数形式小时(00,01, ...,12)
%k 24小时制,数形式小时(0,1, ...,23)
%l 12小时制,数形式小时(0,1, ...,12)
%T 24小时制,时间形式(HH:mm:ss)
%r 12小时制,时间形式(hh:mm:ss AM 或 PM)
天 %d 两位数字表示月中天数(01,02, ...,31)
月 %M 英文月名(January,February, ...,December)
年 %Y 四位数字表示的年份(2015,2016...)
%y 两位数字表示的年份(15,16...)