ABOUT ME

평범한 IT 직장인

Today
Yesterday
Total
  • [MSSQL] 월 더하기/빼기, 첫째 날/마지막 날
    DB/MSSQL 2020. 12. 11. 13:32

    1. 월 더하기/빼기

    DECLARE @RESULT NVARCHAR(50) 
    SET @RESULT = DATEADD(MONTH, -3, GETDATE()) -- 20.12.11기준
    -- 출력 결과 : 09 11 2020  1:07PM

    DATEADD(datepart, number, date) 

    • 많이 쓰는 datepart
      • year(=yy, yyyy)
      • month(mm, m)
      • day(dd, d)

    2. 이번달 월 첫째 날/마지막 날

    DECLARE @START NVARCHAR(50)
    DECLARE @END NVARCHAR(50) 
    
    --기준일 : 2020-12-11
    
    --이번 달 첫째 날짜(1일)
    SET @START =  FORMAT(DATEADD(MM, DATEDIFF(MM, 0, GETDATE()), 0), 'yyyyMMdd') 
    
    --이번 달 마지막 날짜
    SET @END = CONVERT(CHAR(10), EOMONTH(GETDATE()), 112)
    
    PRINT @START
    PRINT @END
    
    --출력결과
    --20201201
    --20201231  
    

    DATEDIFF(datepart, startdate, enddate)

    • DATEDIFF(MM, 0, GETDATE()) : 0일일부터 2020.12일까지 차이 계산

    • 결과 : 1451

    DATEADD(datepart, number, date) 

    • DATEADD(MM, 1451, 0) : 0일에 1451일을 더함

    • 결과 : 12  1 2020 12:00AM

    FORMAT(value, format [, culture])

    • FORMAT(12  1 2020 12:00AM, 'yyyyMMdd') : 데이터 형식 변환

    • 결과 : 20201201

    'DB > MSSQL' 카테고리의 다른 글

    댓글

Designed by Tistory.