一尘不染

MySQL-将日期字符串更改为适当的日期类型?

mysql

(大家好。我特别喜欢SQL和MySQL。我知道一些PHP。)

我有一个包含“ date_string”列的表。出于传统原因,这是一个文本字段,其中包含d / m / YY格式的日期。例如2009年11月22日为“
22/11/09”。

问题:如何将此列中的所有字段都转换为标准的MySQL日期格式(YYYY-mm-dd),就地?

或者,由于列类型是文本,因此无法将其更改到位,我该如何获取每个现有的基于文本的日期,并在表中的另一列(类型为“日期”)中创建标准日期?

谢谢你的帮助。


阅读 251

收藏
2020-05-17

共1个答案

一尘不染

您可能想使用该STR_TO_DATE()功能。

SELECT STR_TO_DATE(textdate, '%d/%m/%y') FROM MyTable...

或创建具有DATE数据类型的另一列并复制值:

ALTER TABLE MyTable ADD COLUMN realdate DATE;
UPDATE MyTable SET realdate = STR_TO_DATE(textdate, '%d/%m/%y');
2020-05-17