我有一个包含以下内容的TIMESTAMP列:
2011-10-12 12:00:00
现在我希望能够使用用户输入来更改时间,而不是日期。因此,如果用户输入5:00 pm
我首先将输入转换为17:00:00
,那么我的问题是将TIMESTAMP更新为2011-10-12 17:00:00
而不覆盖日期。用户可以随时选择,但它们仅限于今天,我需要将日期和时间存储在同一列中,因为它已经在应用程序的许多其他部分中使用。
注意:如果没有SELECT可以更新TIME部分,我宁愿不在更新之前首先选择TIMESTAMP
。
我查看了DATE TIME函数,并且有很多方法可以添加时间间隔,但我还是没有看到将其设置为特定的时间。
答案 0 :(得分:3)
update table
set datetime_field = concat_ws(' ',date(datetime_field), '17:00:00') where id = x
答案 1 :(得分:0)
UPDATE tab
SET ts_field = ADDTIME(DATE(ts_field), new_time)
WHERE id = ?;