1

我声明@workingdatekey 如下。

我需要通过从显示为 yyyymmdd 格式的 @workingdatekey 中减去一个月来定义 @newdatekey。

@workingdatekey 和 @newdatekey 都是 yyyymmdd 格式。

  Declare @workingdatekey int
  set @workingdatekey =  CONVERT(int,CONVERT(varchar(20),GETDATE()-1,112))
4

1 回答 1

1
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()函数为日期时间值添加或减去间隔。

于 2014-03-05T22:03:58.257 回答