仅更新mysql DateTime字段中的时间

Mar*_*tin 34 mysql sql

如何只更新MySQL中已存在的DateTime字段中的时间?我希望日期保持不变.

小智 54

试试这个:

UPDATE yourtable SET yourcolumn=concat(date(yourcolumn), ' 21:00:00') WHERE Id=yourid;
Run Code Online (Sandbox Code Playgroud)


小智 12

试试这个:

UPDATE t1 SET DateTimeField = CONCAT(DATE(DateTimeField),' 12:34:56');
Run Code Online (Sandbox Code Playgroud)


use*_*019 5

UPDATE myTable
SET myDateTime = ADDTIME(DATE(myDateTime), @myTimeSpan)
WHERE id = @id;
Run Code Online (Sandbox Code Playgroud)

记录在 MySQl 日期函数MySQL 文档中


Jub*_*uff 5

我是这样解决的:

UPDATE table
SET myDateTime = CONCAT_WS(' ',DATE(myDateTime), CURTIME())
WHERE id = @id;
Run Code Online (Sandbox Code Playgroud)

显然你应该CURTIME()根据你想要的时间进行改变。


col*_*ium 1

UPDATE myTable
SET myDateTime = ADDTIME(myDateTime, @myTimeSpan)
WHERE id = @id;
Run Code Online (Sandbox Code Playgroud)

有关函数的确切语法,请参阅