프로그래밍
mssql nvl2
언젠간 프로
2013. 10. 11. 16:36
※ 오라클의 NVL2 함수와 동일한 기능을 하는 함수.
CREATE FUNCTION [dbo].[FN_NVL2](
@COL_VALUE VARCHAR(4000),
@REPLACE_ARG1 VARCHAR(4000),
@REPLACE_ARG2 VARCHAR(4000)
) RETURNS VARCHAR(4000)
/*
* CREATE : 2013-07-12
* DESC : @COL_VALUE 가 NULL이 아닌 경우 @REPLACE_ARG1로 값을 대체하고
* NULL인경우 @REPLACE_ARG2 값으로 대체 한다.
*/
BEGIN
DECLARE @RET_VALUE VARCHAR(4000);
SET @RET_VALUE = @COL_VALUE;
IF (@COL_VALUE IS NULL OR @COL_VALUE = '')
BEGIN
SET @RET_VALUE = @REPLACE_ARG2
END
ELSE
BEGIN
SET @RET_VALUE = @REPLACE_ARG1
END
RETURN @RET_VALUE
END