我遇到过一个 mysql 数据库,它在 varchar 列中以各种随机格式输入日期,例如下面
01/01/1977
05-05-1980
58 ( age to be converted to date )
1.2.1990
02/02/87
01-Mar-73
如何将其转换为一种统一格式 - dd/mm/yyyy
此外,当我尝试使用此数据将 varchar 转换为日期列时
SELECT
CAST(date_column AS DATE)
FROM
table_name
我不知道为什么它给我的日期值全部为空
最佳答案
我将使用正则表达式来检查格式,然后在 STR_TO_DATE 中使用适当的说明符来获取标准格式。也许有人可以帮助解决正则表达式?
伪代码:
SELECT
CASE WHEN date REGEXP '[m-d-y]'
THEN STR_TO_DATE(date, %)
说明符:http://dev.mysql.com/doc/refman/5.1/en/date-and-time-functions.html#function_date-format
关于mysql 将各种日期格式转换为统一的日期格式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11195773/