Joh*_*nux 3 sql-server-2008-r2 datetime
我有2个参数,
如果我输入 11 MAR 2014 作为 DATETIME,输入 26 作为月份的输入日期,我想选择 26 FEB 2014 作为输出 DATETIME。
换句话说,我想选择上一个日历月的第 X 天。然后我将使用 DATEDIFF 来查找当前的会计日期。
DECLARE @d DATETIME = '20140311', @dm TINYINT = 26;
SELECT DATEADD(DAY, @dm-1, DATEADD(MONTH, -1, DATEADD(DAY, 1-DAY(@d), @d)));
Run Code Online (Sandbox Code Playgroud)
结果:
2014-02-26 00:00:00.000
Run Code Online (Sandbox Code Playgroud)