我有下面的代码,如果星期六或星期天将日期移动到星期五,但为什么它返回1900-01-06 00:00:00.000
而不是2017-03-31 13:18:12.300
我试过了getdate() - 1工作正常,这是星期五效果很好。如果星期六或星期天我为什么不工作?为什么getdate返回1 1 1900
set datefirst 7 --Sunday
declare @ACUTBY datetime = getdate()
select
case datepart(WEEKDAY, @ACUTBY)
when 1 then 5
when 7 then 5
else @ACUTBY
end as [A-CUT BY]
上面的代码1900-01-06 00:00:00.000
---- GETDATE() - 1 ------
set datefirst 7 --Sunday
declare @ACUTBY datetime = getdate()-1
select
case datepart(WEEKDAY, @ACUTBY)
when 1 then 2
when 7 then 5
else @ACUTBY
end as [A-CUT BY]
上面的代码返回2017-03-31 13:18:12.300
感谢@McNets但仍然不起作用 – Joe
你需要一个日期时间或星期几? – McNets