簡體   English   中英

僅更新 MySQL TIMESTAMP 的時間部分

[英]Update only the time portion of a MySQL TIMESTAMP

我有一個 TIMESTAMP 列,其中包含:

2011-10-12 12:00:00

現在我希望能夠接受用戶輸入來更改時間,而不是日期。 因此,如果用戶輸入5:00 pm我首先將輸入轉換為17:00:00 ,那么我的問題是將 TIMESTAMP 更新為2011-10-12 17:00:00而不覆蓋日期。 用戶可以選擇任何時間,但僅限於這一天,我需要像這樣將日期和時間存儲在同一列中,因為它已經在應用程序的許多其他部分中使用。

注意:如果可以在沒有 SELECT 的情況下僅更新 TIME 部分,我不希望在更新之前先 SELECT TIMESTAMP

我查看了 DATE TIME 函數,並且有很多方法可以為時間添加間隔,但無論如何我都看不到將其設置為特定的東西。

update table 
set datetime_field = concat_ws(' ',date(datetime_field), '17:00:00') where id = x
UPDATE tab 
SET ts_field = ADDTIME(DATE(ts_field), new_time) 
WHERE id = ?;

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM