有没有办法从
更新表中的所有列2010-12-31 23:59:59.000
到
2010-12-31 00:00:00.000
这样的东西?
UPDATE t1
SET [Posting Date] = [Posting Date] with ms = 00:00:00.000
WHERE ms = other than 00:00:00.000
GO
答案 0 :(得分:15)
UPDATE t1
SET [Posting Date] = cast([Posting Date] as date)
WHERE cast([Posting Date] as time) > '00:00'
答案 1 :(得分:4)
UPDATE t1
SET [Posting Date] = CAST([Posting Date] as DATE)
答案 2 :(得分:0)
在sql-server
中UPDATE [dbo].[1] SET [datetime]= CAST([datetime] AS DATE)
select * from [dbo].[1]
答案 3 :(得分:0)
这可能会对您有所帮助:
UPDATE tableName SET ColumnName = CAST( CAST( NOW( ) AS DATE ) AS DATETIME );
答案 4 :(得分:0)
尝试:
MODIFIEDDATETIME-(cast(MODIFIEDDATETIME as time))
答案 5 :(得分:-1)
这对我有用:
update t1 set [Posting Date] = CONVERT(varchar,[Posting Date] , 112)
但我认为它在很大程度上取决于你的数据库的语言环境是如何配置的,你可能需要使用另一种风格(而不是112,或许是101或102 ......),请参阅this link以查看可能的样式。转换并选择最适合你的那个。
如果您需要执行此操作一次,您可以将列类型更改为日期,保存然后再更改为日期时间,但如果表格很大,则可能非常耗时