首页 > 解决方案 > SQL:如何基于 GETDATE() 函数以 YYYYMM 格式获取上个月的整数值

问题描述

例如,如果今天的日期是 2019 年 1 月 30 日,我想使用 GETDATE() 函数返回该日期并将其设置为等于 [Current_Date]。然后,我想使用当前日期将 201912 的值分配给我已声明为整数的变量 @SETMONTH。任何能够做到这一点的代码帮助将不胜感激。

@SETMONTH INT

--To assign a value to [Current_Date]

SELECT 
    CONVERT(DATE, GETDATE()) [Current_Date]


UPDATE Table1

SET

Model_Month = --This is where I need a formula that can convert the date of 1/30/2020 to 201912

标签: sqlsql-server

解决方案


您可以使用EOMONTH()

SELECT CONVERT(VARCHAR(6), EOMONTH(GETDATE(), -1), 112);

因此,更新语句如下所示:

DECLARE @SETMONTH INT

SELECT @SETMONTH = CONVERT(VARCHAR(6), EOMONTH(GETDATE(), -1), 112)

UPDATE table1
      SET Model_Month = @SETMONTH

推荐阅读