在我的MySQL数据库中,我有很多带有这种格式的时间戳的数据:
2017.07.13 - 12:00:00:000
我想将其更改为以下格式:
2017-07-13T12:00:00:000-0400
我知道我需要 SELECT 来从表中获取数据,然后更新将其更改为新记录。但我不知道如何使用SQL命令编辑时间戳。
如何使用SQL命令编辑字符串?
答案 0 :(得分:1)
您无需在select
之前运行update
。 update
已有数据。你可以这样做:
update table
set column = concat(replace(replace(column, ' - ', 'T'), '.', '-'), '-0400')
更改column
表的table
列中所有日期的格式。
演示:http://sqlfiddle.com/#!9/2699e9/2(使用select因为update
无法显示任何内容)
答案 1 :(得分:0)
应该可以工作(在SQL-Server中测试)
Update tableName SET col = Replace(col," - ","T") + '-0400'
如果+
不适用于mysql,请尝试使用CONCAT
更新:MySQL解决方案
UPDATE tableName SET col = CONCAT(REPLACE(REPLACE(col, ' - ', 'T'), '.', '-'), '-0400')