MySQL的date_format和str_to_date的使用
MySQL的date_format和str_to_date类似Oracle的to_char()和to_date()
mysql日期和字符相互转换方法
date_format(date,’%Y-%m-%d’) -------------->oracle中的to_char();
str_to_date(date,’%Y-%m-%d’) -------------->oracle中的to_date();
%Y:代表4位的年份
%y:代表2为的年份
%m:代表月, 格式为(01……12)
%c:代表月, 格式为(1……12)
%d:代表月份中的天数,格式为(00……31)
%e:代表月份中的天数, 格式为(0……31)
%H:代表小时,格式为(00……23)
%k:代表 小时,格式为(0……23)
%h: 代表小时,格式为(01……12)
%I: 代表小时,格式为(01……12)
%l :代表小时,格式为(1……12)
%i: 代表分钟, 格式为(00……59)
%r:代表 时间,格式为12 小时(hh:mm:ss [AP]M)
%T:代表 时间,格式为24 小时(hh:mm:ss)
%S:代表 秒,格式为(00……59)
%s:代表 秒,格式为(00……59)
SELECT DATE_FORMAT(20130111191640,’%Y-%m-%d %H:%i:%s’)
DATE_FORMAT(20130111191640,’%Y-%m-%d %H:%i:%s’)
-----------------------------------------------
2013-01-11 19:16:40
举个例子:
CREATE procedure dog(v_day varchar(10))
begin
declare v_lday varchar(10);
set v_lday = date_format(str_to_date(SUBSTRING(v_day,1,8)-1, '%Y%m%d'),'%Y%m%d');
SELECT v_lday;
end;
CALL dog('20200922');
结果:
20200921