8

有没有办法更新表中的所有列

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
4

6 回答 6

21
UPDATE t1
SET [Posting Date] = cast([Posting Date] as date)
WHERE cast([Posting Date] as time) > '00:00'
于 2013-10-24T13:49:08.067 回答
5
UPDATE t1
SET [Posting Date] = CAST([Posting Date] as DATE)
于 2013-10-24T10:16:13.937 回答
4

这可能会帮助您:

UPDATE tableName SET ColumnName = CAST( CAST( NOW( ) AS DATE ) AS DATETIME );

于 2016-02-26T15:38:03.960 回答
0

在 sq 服务器

UPDATE [dbo].[1] SET  [datetime]= CAST([datetime] AS DATE) 

select * from [dbo].[1]
于 2013-10-24T10:13:40.667 回答
0

尝试:

MODIFIEDDATETIME-(cast(MODIFIEDDATETIME as time))
于 2018-11-20T08:31:06.767 回答
-1

这对我有用:

update t1 set [Posting Date]  = CONVERT(varchar,[Posting Date] , 112)

但我认为它很大程度上取决于您的数据库的语言环境是如何配置的,您可能需要使用另一种样式(而不是 112,也许是 101 或 102...)查看此链接以查看可能的转换样式并选择一个更适合你。

或者,如果您需要这样做一次,您可以将列类型更改为日期,保存然后返回日期时间,但如果表很大,这可能会很耗时

于 2013-10-24T10:00:18.433 回答