@I_DC_CD                         VARCHAR(10)

,@I_NOT_FLAG                      CHAR(1)                        = NULL


2개의 값을 받아서  @I_NOT_FLAG  이 변수를 조건에 걸고 싶을때

if ( ISNULL(@I_NOT_FLAG, 'N') = 'N' ) {

M.DC_CD = ISNULL(@I_DC_CD, M.DC_CD)

] else if ( ISNULL(@I_NOT_FLAG, 'N') = 'Y' ) {

M.DC_CD != ISNULL(@I_DC_CD, M.DC_CD)

}


위 내용대로 짜고 싶다면 아래처럼 하면된다


AND (((ISNULL(@I_NOT_FLAG, 'N') = 'N')AND( M.DC_CD = ISNULL(@I_DC_CD, M.DC_CD) ))

OR((ISNULL(@I_NOT_FLAG, 'N') = 'Y')AND( M.DC_CD != ISNULL(@I_DC_CD, M.DC_CD) )))


AND ( ((조건) AND (결과)) or ((조건) AND (결과)) )


복잡해 보이지만 잘 보면 쉬워요^^



'개발 > DB' 카테고리의 다른 글

[MS-SQL] mssql 소수점 연산 방법  (0) 2017.09.11
MSSQL Cursor(커서) 란?  (0) 2017.09.08
[MS SQL] mssql loop 반복문  (0) 2017.09.07
oracle 날짜 포맷  (0) 2017.08.30
MS-SQL 날짜형식 SELECT  (0) 2017.08.29

+ Recent posts