SQL server中怎么得到两个日期间所有的月份

DECLARE @DATE_START DATETIME
DECLARE @DATE_END DATETIME

SET @DATE_START = '2021-01-01'
SET @DATE_END = '2021-12-31'

DECLARE @MONTH TABLE (MONTH_LIST VARCHAR(7))
DECLARE @DATE_TEMP DATETIME
SET @DATE_TEMP = @DATE_START

WHILE(CONVERT(VARCHAR(7),@DATE_END,120)>=CONVERT(VARCHAR(7),@DATE_TEMP,120))
BEGIN
    INSERT INTO @MONTH (MONTH_LIST)
    SELECT CONVERT(VARCHAR(7),@DATE_TEMP,120)
    SET @DATE_TEMP = DATEADD(MONTH,1,@DATE_TEMP)
END 

SELECT * FROM @MONTH

 

posted @ 2021-12-15 11:19  ittalk  阅读(336)  评论(0)    收藏  举报