如何将子字符串移动到新列?

时间:2019-07-05 09:35:14

标签: mysql sql sql-update

因此,我有一个只有一个名为log的表的MYSQL数据库。该表中有一列名为Date_Time的列,其中所有数据如下所示:2019-04-01-02.24.34.657661。我想制作两个分别称为TimeDate的列,其中显然要从Date_Time列中输入日期和时间。

下面已经看到的代码是我已经尝试过的代码。如您所见,我知道如何选择子字符串,但是我不知道如何将其放入新的单独的列中。我希望你能帮助我。

SELECT SUBSTRING(Date_Time, 1, 10) AS Date
from log;

顺便说一句,数据库有8.000.000行,所以您知道:D

2 个答案:

答案 0 :(得分:2)

您需要一个UPDATE语句:

update log
   set Date = SUBSTRING(Date_Time, 1, 10), 
       Time = SUBSTRING(Date_Time, 11) 

似乎Date_Time是字符串类型的列。由于您直接使用SUBSTRING()函数,而无需进行类型转换。

答案 1 :(得分:0)

尝试使用演员表:

Select cast(Date_Time as date) as Date, cast(Date_Time as time) as Time
from log;