我有一个带有列日期的表,但它存储为文本。
现在,我需要根据日期提取数据,并且我认为我需要将列类型更改为datetime,但是如何做到这一点而又不丢失数据呢?我的文本记录的格式为dd-MM-YYYY hh:mm
如果仅更改列类型,则数据将丢失所有数据(填充为零)。
最佳答案
UPDATE `table`
SET `column` = STR_TO_DATE(`column`,'%d-%M-%Y %h:%i')
只是将格式更改为您所拥有的格式,以防不正确。
Formats
SQL fiddle
我有一个带有列日期的表,但它存储为文本。
现在,我需要根据日期提取数据,并且我认为我需要将列类型更改为datetime,但是如何做到这一点而又不丢失数据呢?我的文本记录的格式为dd-MM-YYYY hh:mm
如果仅更改列类型,则数据将丢失所有数据(填充为零)。
最佳答案
UPDATE `table`
SET `column` = STR_TO_DATE(`column`,'%d-%M-%Y %h:%i')