mysql将各种日期格式转换为统一格式
我遇到过一个mysql数据库,它的日期以各种随机格式输入到varchar列中,例如下面的mysql将各种日期格式转换为统一格式,mysql,sql,Mysql,Sql,我遇到过一个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转换为date列时 SELECT CAST(date_column AS DATE) FROM table_name
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转换为date列时
SELECT
CAST(date_column AS DATE)
FROM
table_name
我不知道为什么它会给我日期值的所有空值,
CAST()函数的语法是:
CAST(character_string AS character_data_type CHARACTER SET charset_name)
您是否以正确的方式查询了它?我将使用regex检查格式,然后使用STR_to_DATE中的适当说明符来获得标准格式。也许有人能帮上regex
伪代码:
SELECT
CASE WHEN date REGEXP '[m-d-y]'
THEN STR_TO_DATE(date, %)
说明符:已更新:。如果存在任何歧义,即某些日期存储为m/d/y,而某些日期存储为d/m/y,则显然无法工作。