프로그래밍

mssql nvl 함수

언젠간 프로 2013. 10. 11. 16:34

※ 오라클의 NVL함수와 같은 기능을 하는 함수이다. 

사용 예) DBO.FN_NVL(컬럼, '대체할 값')


CREATE FUNCTION [dbo].[FN_NVL](

    @COL_VALUE      VARCHAR(4000), 

    @REPLACE_ARG    VARCHAR(4000)

) RETURNS VARCHAR(4000)

/*

* CREATE : 2013-07-15

* DESC : 오라클의 NVL과 같은 기능을 한다. 

*        컬럼 값이 NULL인경우 다음 지정 한 값으로 대체 한다.

*        공백도 NULL로 간주하여 처리한다.

*/

BEGIN

    DECLARE @RET_VALUE VARCHAR(4000)


    IF (ISNULL(@COL_VALUE, '') = '')

        SET @RET_VALUE = @REPLACE_ARG;

    ELSE

        SET @RET_VALUE = @COL_VALUE;


    RETURN @RET_VALUE;

END