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

标签 mysql sql sql-update

所以,我有一个 MYSQL 数据库,其中只有一个名为 log 的表。该表中有一个名为 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

最佳答案

你需要一个UPDATE语句:

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

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

关于mysql - 如何将子字符串移动到新列?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/56900401/

相关文章:

php - 从表单更新 sql 表中的数据 - 数据必须是唯一的

java - MySQL 命令到 .DBF 表

Mysql查看表加载文件

mysql - 当 NodeJS 中不存在记录时捕获 MySQL 错误

sql - MySql:计算价格范围内的行数?

sql - 数据透视表可以用于未知数量的列吗?

mysql - 根据列的值范围生成 2 个值的查询

SQL Server - 更新表,其中 ID 在 SELECT 中?

MySql 更新 boolean 值

php - 从 php 脚本调用的 INSERT INTO 失败