我声明@workingdatekey 如下。
我需要通过从显示为 yyyymmdd 格式的 @workingdatekey 中减去一个月来定义 @newdatekey。
@workingdatekey 和 @newdatekey 都是 yyyymmdd 格式。
Declare @workingdatekey int
set @workingdatekey = CONVERT(int,CONVERT(varchar(20),GETDATE()-1,112))
我声明@workingdatekey 如下。
我需要通过从显示为 yyyymmdd 格式的 @workingdatekey 中减去一个月来定义 @newdatekey。
@workingdatekey 和 @newdatekey 都是 yyyymmdd 格式。
Declare @workingdatekey int
set @workingdatekey = CONVERT(int,CONVERT(varchar(20),GETDATE()-1,112))
DECLARE @workingdatekey int
SET @workingdatekey = CONVERT(VARCHAR(8),DATEADD(MONTH, -1,GETDATE()),112)
SELECT @workingdatekey
RESULT: 20140205
或者
DECLARE @workingdatekey int
SET @workingdatekey = CAST(CONVERT(VARCHAR(8),DATEADD(MONTH, -1,GETDATE()),112) AS INT)
SELECT @workingdatekey
RESULT: 20140205
要么会得到相同的结果。
您尝试执行的操作GETDATE()-1
会从当前日期时间中减去一天。您需要使用DATEADD()
函数为日期时间值添加或减去间隔。