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

dojqjjoe  于 2021-08-09  发布在  Java
关注(0)|答案(2)|浏览(233)

表中有一个字段的值是time。
表名:sessions列:time
例如

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命令来实现这一点?
谢谢

hivapdat

hivapdat1#

您只需更新表:

update sessions
set time = left(time, 8)
hgb9j2n6

hgb9j2n62#

使用字符串函数:

update mytable set mytime = substring(mytime, 1, 8)

我还建议将列的数据类型更改为 time ,因此数据库将在将来为您正确地执行数据完整性。如果您的数据可以隐式地转换为目标格式(在执行上述查询之后应该是这种情况),那么您只需执行以下操作:

alter table mytable modify mytime time;

请注意 time 对于列名不是明智的选择,因为它与mysql数据类型冲突。我曾经 mytime 而是在查询中。

相关问题