我有一个带有DateTimeMove_Date的表。日期是正确的,但是时间部分被清零了,所以我尝试用正确的时间替换清零的列。我的查询如下:

update TableA
set Move_Date = replace(Move_Date, '00:00:00.000', '18:00:00.000')

当我运行此查询时,它成功成功,影响了1,632,380行,但是表中没有任何更改。我的查询是否有问题或这是一个错误?

最佳答案

假设您要设置时间部分:

UPDATE table1
SET Move_Date = CAST(CAST(Move_Date AS DATE) AS DATETIME) + CAST('18:00' AS DATETIME)
-- WHERE CAST(Move_Date AS TIME) =  '00:00'
-- WHERE CAST(Move_Date AS TIME) <> '18:00'

关于sql - SQL查询成功执行但未进行任何更改,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/58942060/

10-13 09:42