我有一个脚本,每五分钟更新MySql服务器中表的值。问题是,在一个名为"日期"的列中,我有一个文本中的日期和时间。像这样:
Date
24/04/2021 08:22:01
24/04/2021 08:22:02
24/04/2021 08:22:03
...
我希望能够将其转换为日期时间,这样我就可以管理最大或最小日期。我看过很多关于这方面的话题,但它们都在SQL中,而不是MySql。
<blockquote\CREATE TABLE test (`Date` VARCHAR(255)); INSERT INTO test VALUES ('24/04/2021 08:22:01'), ('24/04/2021 08:22:02'), ('24/04/2021 08:22:03'); SELECT * FROM test;
|日期||:------------------||2021年4月24日08:22:01||2021年4月24日08:22:02||2021年4月24日08:22:03 |
-- variant 1 - transform in a query
SELECT `date`, STR_TO_DATE(`date`, '%d/%c/%Y %H:%i:%s') formatted_date
FROM test;
>date|formatted_date:------------------|:------------------2021年4月24日08:22:01 | 2021-04-24 08:22:012021年4月24日08:22:02 | 2021-04-24 08:22:022021年4月24日08:22:03 | 2021-04-24 08:22:03
-- variant 2 - create generated column ALTER TABLE test ADD COLUMN formatted_date DATETIME AS (STR_TO_DATE(`date`, '%d/%c/%Y %H:%i:%s')) STORED; SELECT * FROM test;
Date|formatted_Date:------------------|:------------------2021年4月24日08:22:01 | 2021-04-24 08:22:012021年4月24日08:22:02 | 2021-04-24 08:22:022021年4月24日08:22:03 | 2021-04-24 08:22:03
db<gt;小提琴这里