所以我在 varchar (資料型別)中的資料是這種形式
14-12-2021 Tuesday 14:30:00
22-11-2021 Monday 13:00:00
05-10-2021 Tuesday 11:45:00
24-09-2021 Friday 10:15:00
11-08-2021 Wednesday 12:15:00
01-07-2021 Thursday 00:45:00
17-06-2021 Thursday 03:30:00
21-05-2021 Friday 02:15:00
04-04-2021 Sunday 02:45:00
我希望這些資料在 TIMESTAMP 中轉換
我的輸出應該是:
14-12-2021 14:30:00
22-11-2021 13:00:00
05-10-2021 11:45:00
24-09-2021 10:15:00
11-08-2021 12:15:00
01-07-2021 00:45:00
17-06-2021 03:30:00
21-05-2021 02:15:00
04-04-2021 02:45:00
我已經嘗試了很多事情,但沒有任何幫助可以幫助我我不想手動更改資料我想用 sql 查詢更新我的資料。
uj5u.com熱心網友回復:
假設您要將資料轉換為真正的時間戳,您可以使用STR_TO_DATE:
SELECT STR_TO_DATE(CONCAT(SUBSTRING_INDEX(col, ' ', 1), ' ',
SUBSTRING_INDEX(col, ' ', -1)),
'%d-%m-%Y %H:%i:%s') AS ts_out
FROM yourTable;
假設您只想以這種方式查看資料,您可以使用:
SELECT CONCAT(SUBSTRING_INDEX(col, ' ', 1), ' ',
SUBSTRING_INDEX(col, ' ', -1)) AS ts_out
FROM yourTable;
要更新您的表,首先創建一個新的時間戳列ts_out,然后使用以下命令填充它:
UPDATE yourTable
SET ts_out = STR_TO_DATE(CONCAT(SUBSTRING_INDEX(col, ' ', 1), ' ',
SUBSTRING_INDEX(col, ' ', -1)),
'%d-%m-%Y %H:%i:%s');
轉載請註明出處,本文鏈接:https://www.uj5u.com/qukuanlian/445194.html
