2
我有字段名日期VARCHAR数据类型:重新排列int值YYYYMMDD使用MySQL
DATE
09282016
09272016
我想将它安排:
DATE
20160928
20160927
我如何能做到这一点的MySQL的?
我有字段名日期VARCHAR数据类型:重新排列int值YYYYMMDD使用MySQL
DATE
09282016
09272016
我想将它安排:
DATE
20160928
20160927
我如何能做到这一点的MySQL的?
在STR_TO_DATE
和DATE_FORMAT
函数的帮助下,您可以实现此目的。
选择查询:
SELECT
DATE_FORMAT(STR_TO_DATE(your_date_column,'%m%d%Y'),'%Y%m%d')
FROM your_table;
更新查询:
UPDATE
your_table
SET your_date_column = DATE_FORMAT(STR_TO_DATE(your_date_column,'%m%d%Y'),'%Y%m%d');
示范:
SET @str := '09282016';
SELECT
DATE_FORMAT(STR_TO_DATE(@str,'%m%d%Y'),'%Y%m%d') AS output;
Output
20160928
日期应存放在date
数据类型。
我这样做之前我问问题。唯一的问题是'%m%d%Y'中的y是小写字母。谢谢 –
如果您的字段是整数,您将如何管理第一个零(前导零)。你从1到9个月储存两位数吗? – FLICKER
对不起,数据类型是varchar –