我在Mytable中有一个名为StockDate的列,其DataType是DateTime。
所以我的表包含如下记录
SID StockDate
----- ------------
1 2011-10-02 09:44:41.170
2 2011-10-02 09:48:23.234
这里我想仅将StockDate的日期更新为“2011-09-30”。但时间应该是一样的。这该怎么做?我需要你的所有建议。
答案 0 :(得分:11)
在一整天中解决不同的问题并减去......
UPDATE
MyTable
SET
StockDate = DATEADD(day, DATEDIFF(day, StockDate, '20110930'), StockDate)
WHERE
...
请注意yyyymmdd用于SQL Server。
答案 1 :(得分:1)
http://msdn.microsoft.com/en-us/library/ms186724(v=SQL.90).aspx
你可以使用DATEDIFF和DATEADD让你自己到9/30/2011而不改变时间。
答案 2 :(得分:1)
您可以使用dateadd
,datediff
functions。