如何将'1021970'(1970年1月2日)或'12021970'(1970年12月2日)等具有不同月份长度的字符串转换为MySQL日期?
'1021970'
'12021970'
ttcibm8c1#
在月份没有前导零的字符串中(即有时它有一个数字,有时它有两个数字),日总是有一个前导零,年总是四位数:
SELECT IF( LENGTH(`your_date_column`) = 7, STR_TO_DATE(INSERT(`your_date_column`, 1, 0, '0'), '%m%d%Y'), STR_TO_DATE(`your_date_column`, '%m%d%Y') );
要测试:
-- January 2, 1970. SELECT IF( LENGTH('1021970') = 7, STR_TO_DATE(INSERT('1021970', 1, 0, '0'), '%m%d%Y'), STR_TO_DATE('1021970', '%m%d%Y') );
-- December 2, 1970. SELECT IF( LENGTH('12021970') = 7, STR_TO_DATE(INSERT('12021970', 1, 0, '0'), '%m%d%Y'), STR_TO_DATE('12021970', '%m%d%Y') );
1条答案
按热度按时间ttcibm8c1#
在月份没有前导零的字符串中(即有时它有一个数字,有时它有两个数字),日总是有一个前导零,年总是四位数:
要测试: