필기노트

MSSQL DateDiff를 Excel DateDif로 맞추기 본문

Database

MSSQL DateDiff를 Excel DateDif로 맞추기

우퐁코기 2022. 12. 8. 07:08
반응형

1. 현업의 엑셀의 DATEDIF 요구사항이 MSSQL의 DATEDIFF와 다르다...

 

2. 구글링과 여러 테스트 끝에 아래의 로직 개발

-- =============================================
-- Author:      whk
-- Create date: 2022.12.09.
-- Description:	엑셀 DATEDIF 구하기
-- =============================================
CREATE FUNCTION [DBO].[FN_EXCEL_DATEDIF]
(
    @시작일자 VARCHAR(8),
    @종료일자 VARCHAR(8)
)
RETURNS INT
AS
BEGIN
    DECLARE @골뱅이 INT = 0

    IF @시작일자 >= @종료일자
        RETURN 0

    SET @골뱅이 = DATEDIFF(MM, @시작일자, @종료일자)
    IF DAY(@시작일자) > DAY(@종료일자)
        SET @골뱅이 = @골뱅이 -1

    RETURN @골뱅이
END

 

3. 결과

 

 

 

참고

 

개발자 커뮤니티 SQLER.com - MS-SQL 날짜 계산과 국세청 (엑셀) 날짜 계산 어떻게 맞춰야 하나요? ㅠ

EXCEL의 함수 수식을 이용하여 계산하는 국세청 퇴직소득관련 근무년수를 구하는 문제입니다. 같은 기간을 같은 수식을 excel과 mssql에 넣어도 다른 결과가 나오는 것때문에 문제를 발생시키고 있

www.sqler.com

반응형
Comments