我有一个名为calendar的表,其中包含DateTo列 格式为2014-02-19T16:00:00(varchar且无法更改) 我想将时间设定为13:00
我试过
UPDATE calendar
SET DateTo = (SUBSTRING(DateTo FROM 1 FOR 11) + '13:00')
WHERE SUBSTRING(DateFrom FROM 1 FOR 10) = '2014-02-19'
认为这会给我:
2014-02-19T13:00
但它返回2027?
答案 0 :(得分:0)
你可以这样做
update
calendar
set DateTo = concat(
substring_index(DateTo,'T',1),'T','13:00'
)
where substring_index(DateTo,'T',1) = '2014-02-19'
;
<强> DEMO 强>
正如 MatBailie 建议而不是
where substring_index(DateTo,'T',1) = '2014-02-19'
最好使用
WHERE DateTo LIKE '2014-02-19T%'
如果DateTo上有索引
,这将明显加快