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

Sir*_*tty 4 mysql sql date

(大家好.我特别是SQL和MySQL的新手.我知道一些PHP.)

我有一个包含"date_string"列的表.由于遗留原因,这是一个文本字段,包含d/m/YY格式的日期.例如2009年11月22日的"22/11/09".

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

或者,如果列类型为文本,则无法就地更改它,如何获取每个现有的基于文本的日期,并在表中的另一列(类型为'date')中创建标准日期?

谢谢你的帮助.

Bil*_*win 15

您可能想要使用该STR_TO_DATE()功能.

SELECT STR_TO_DATE(textdate, '%d/%m/%y') FROM MyTable...
Run Code Online (Sandbox Code Playgroud)

或者使用DATE数据类型创建另一个列并复制值:

ALTER TABLE MyTable ADD COLUMN realdate DATE;
UPDATE MyTable SET realdate = STR_TO_DATE(textdate, '%d/%m/%y');
Run Code Online (Sandbox Code Playgroud)