我有一个列,其中有 varchar 数据,我想将该数据转换为 TIMESTAMP
I have a column in which i have varchar data and i want to convert that data into TIMESTAMP
我在 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 查询更新我的数据。
假设您想要将您的数据转换为真正的时间戳,您可以使用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;
要更新您的 table,首先创建一个新的时间戳列 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');
我在 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 查询更新我的数据。
假设您想要将您的数据转换为真正的时间戳,您可以使用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;
要更新您的 table,首先创建一个新的时间戳列 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');