개발/DB

ms msql where절 if문 쓰기

료팡 2017. 10. 30. 16:38

@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 (결과)) )


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