Mysql字段删除第8个字符后的所有字符

Mysql字段删除第8个字符后的所有字符,mysql,sql,string,date,sql-update,Mysql,Sql,String,Date,Sql Update,我在表中有一个字段,它的值是时间 表名称:会话 专栏:时间 比如说 time ----- 09:00:00 (this should be the correct time) 12:00:00:00:00 09:00:00:00 11:00:00:00:00:00:00 16:00:00:00:00 这张表搞乱了,我想清理一下,只保留每行的前8个字符,删除后面的所有字符 有没有一种方法可以通过mysql命令来实现这一点 谢谢使用字符串函数: update mytable set myt

我在表中有一个字段,它的值是时间

表名称:会话 专栏:时间

比如说

time
-----
09:00:00 (this should be the correct time)

12:00:00:00:00

09:00:00:00

11:00:00:00:00:00:00

16:00:00:00:00
这张表搞乱了,我想清理一下,只保留每行的前8个字符,删除后面的所有字符

有没有一种方法可以通过mysql命令来实现这一点

谢谢使用字符串函数:

update mytable set mytime = substring(mytime, 1, 8)
我还建议将列的数据类型更改为
time
,以便数据库在将来为您正确执行数据完整性。如果您的数据可以隐式转换为目标格式(在执行上述查询后应该是这样一次),您只需执行以下操作:

alter table mytable modify mytime time;

请注意,
time
不是一个明智的列名选择,因为它与MySQL数据类型冲突。我在查询中使用了
mytime

您只需更新表:

update sessions
set time = left(time, 8)

请使用所需的行为、特定问题和代码更新您的问题。见: