我有一个带有SMALLDATETIME
列的表和一些时间错误的记录。例如:
2018-07-17 11:06:00
正确的时间是00:00:00
,因此,对于所有这些条目,我想将时间更改为该值(2018-07-17 00:00:00
)。
在表中,大部分记录具有正确的时间。
实现此目标的正确方法是什么?
谢谢
答案 0 :(得分:1)
如果您不想浪费时间,可以使用cast( as date)
删除时间分量并将其设置为00:00:00
update t
set dt = cast(dt as date);
答案 1 :(得分:0)
DECLARE @datetime SMALLDATETIME ='2018-07-17 11:06:00'
SELECT CONVERT(DATETIME, CONVERT(DATE, @datetime))
是这样的:
UPDATE MY_TABLE
SET MY_COLUMN = CONVERT(SMALLDATETIME, CONVERT(DATE, MY_COLUMN))