我想在SQL中更新datetime字段的时间部分。 我有一个出勤表,用户可以根据他/她选择的出勤日期更新时间。我怎么能这样做?
答案 0 :(得分:1)
这里你去..myDate是表格中的字段名称。我使用变量来节省时间值。如果您需要任何澄清,请告诉我。
declare @TestTime datetime
declare @hour int=10
declare @min int=10
declare @sec int=12
select @TestTime = cast(convert(varchar(100),myDate,101)+' 00:00:00' as datetime) from TestTable
select dateadd(ss,@sec,dateadd(m,@min,dateadd(hh,@hour,@TestTime)))
答案 1 :(得分:0)
UPDATE MyTable
SET MyDate = DATEADD(HOUR, 4, CAST(CAST(MyDate AS DATE) AS DATETIME))
或者这个
UPDATE MyTable
SET MyDate = DATEADD(HOUR, 4, CAST(FLOOR(CAST(MyDate AS FLOAT)) AS DATETIME))
或者
UPDATE tblAttendance2
SET DateTimeIn = DateTimeIn + cast(@TimeInChange as DateTime),
DateTimeOut =DateTimeIn + cast(@TimeOutChange as DateTime)
WHERE AttendanceDeductionsID = @AttendanceDeductionsID