DATE_FORMAT(date,format)函数用于以不同的格式显示日期/时间数据,format 规定日期/时间的输出格式,可以有下面的格式:
%a 缩写星期名
%b 缩写月名
%c 月,数值
%D 带有英文前缀的月中的天
%d 月的天,数值(00-31)
%e 月的天,数值(0-31)
%f 微秒
%H 小时(00-23)
%h 小时(01-12)
%I 小时(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:ssAM或PM)
%S 秒(00-59)
%s 秒(00-59)
%T 时间,24-小时(hh:mm:ss)
%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位
-- 获取当前日期时间:2021-04-21
select curdate();
-- 获取当前日期:2021-04-21 14:20:00
select now();
-- 获取当前unix时间戳
select unix_timestamp();
-- 获取指定日期时间unix时间戳
select unix_timestamp(curdate());
-- unix时间戳转换为日期时间格式,默认格式:‘%Y-%m-%d %H:%i:%s‘
select from_unixtime(unix_timestamp(now()))
-- unix时间戳转换为指定日期时间格式,DATE_FORMAT(date,format)
select from_unixtime(unix_timestamp(),‘%Y_%m_%d_%H_%i_%s‘)
set @date = curdate();
set @dateTime = now();
select date_add(@date, interval 1 year); -- 年
select date_add(@date, interval 1 quarter); -- 季度
select date_add(@date, interval 1 month); -- 月
select date_add(@date, interval 1 week); -- 星期
select date_add(@date, interval 1 day); -- 天
select date_add(@dateTime, interval 1 hour); -- 小时
select date_add(@dateTime, interval 1 minute); -- 分钟
select date_add(@dateTime, interval 1 second); -- 秒
select date_add(@dateTime, interval 1 microsecond); -- 毫秒
set @date = curdate();
set @dateTime = now();
select date_sub(@date, interval 1 year);
select date_sub(@date, interval 1 quarter);
select date_sub(@date, interval 1 month);
select date_sub(@date, interval 1 week);
select date_sub(@date, interval 1 day);
select date_sub(@dateTime, interval 1 hour);
select date_sub(@dateTime, interval 1 minute);
select date_sub(@dateTime, interval 1 second);
select date_sub(@dateTime, interval 1 microsecond);
Sql函数详解请参考SQL Date 函数
原文:https://blog.51cto.com/u_1197822/2722403