表中有一个字段的值是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命令来实现这一点?谢谢
hivapdat1#
您只需更新表:
update sessions set time = left(time, 8)
hgb9j2n62#
使用字符串函数:
update mytable set mytime = substring(mytime, 1, 8)
我还建议将列的数据类型更改为 time ,因此数据库将在将来为您正确地执行数据完整性。如果您的数据可以隐式地转换为目标格式(在执行上述查询之后应该是这种情况),那么您只需执行以下操作:
time
alter table mytable modify mytime time;
请注意 time 对于列名不是明智的选择,因为它与mysql数据类型冲突。我曾经 mytime 而是在查询中。
mytime
2条答案
按热度按时间hivapdat1#
您只需更新表:
hgb9j2n62#
使用字符串函数:
我还建议将列的数据类型更改为
time
,因此数据库将在将来为您正确地执行数据完整性。如果您的数据可以隐式地转换为目标格式(在执行上述查询之后应该是这种情况),那么您只需执行以下操作:请注意
time
对于列名不是明智的选择,因为它与mysql数据类型冲突。我曾经mytime
而是在查询中。