omk*_*ade 25 sql sql-server-2008
我的日期是2013-12-14 05:00:00.000.
现在我想只更新那个日期的时间.EG至2013-12-14 04:00:00.000
是否有任何查询仅从datetime字段更新时间?
Yur*_*kiy 48
UPDATE MyTable
SET MyDate = DATEADD(HOUR, 4, CAST(CAST(MyDate AS DATE) AS DATETIME))
Run Code Online (Sandbox Code Playgroud)
或这个
UPDATE MyTable
SET MyDate = DATEADD(HOUR, 4, CAST(FLOOR(CAST(MyDate AS FLOAT)) AS DATETIME))
Run Code Online (Sandbox Code Playgroud)
小智 8
使用以下一个来更新datetime列的时间-
select CONVERT(varchar(10),datecolumn, 120) + ' 12:34:56',
CONVERT(varchar(10),datecolumn, 120) + ' 00:00:00',
RSLV_LTR_INITIAL_DUE_DT, *
from twhere able1
Run Code Online (Sandbox Code Playgroud)
DECLARE @Time as TIME;
DECLARE @Date as DATETIME;
SELECT @Time = CONVERT(TIME, '2016-01-01 09:30:00.000');
SELECT @Date = CONVERT(date, GETDATE()); --2017-03-10 16:37:34.403
SELECT DATEADD(MINUTE, DATEPART(MINUTE, @Time), DATEADD(HH, DATEPART(HOUR, @Time), @Date))
Run Code Online (Sandbox Code Playgroud)
输出: 2017-03-10 09:30:00.000
| 归档时间: |
|
| 查看次数: |
62486 次 |
| 最近记录: |