개발관련기록/SQL Server(9)
-
[SQL]Where 절 Case 의 조건을 사용할 경우
Table name => TAB TAB 의 컬럼 Col1 Col1의 데이터들 1,1,1,2,2,2,3,3,4,4,4,5,5,5,5, 대충 이렇게 있을때 조건은 검색 조건은 다음과 같다. 검색조건 : 변수 1이 들어올 경우 Col1의 데이터 1을 보여주고, 변수 2가 들어올 경우 Col1의 데이터 2를 보여주며 변수에 아무값이 안들어 올경우 1과 2만 보여줘야 한다. SQL 구문 예시. DECLARE @VAL NVARCHAR(1) SET @VAL = {0} SELECT * FROM TAB WHERE (Col1 = CASE WHEN @VAL = '1' THEN '1' WHEN @VAL = '' THEN '1' END OR Col1 = CASE WHEN @VAL='2' THEN '2' WHEN @VAL='' ..
2011.04.01 -
BETWEEN 과 CASE 구문 같이 쓰기.
WHERE AND (E.CD_BEEMP BETWEEN CASE WHEN @CODE_TYPE = 'CD_EMP' OR @CODE_TYPE = 'CD_DEPT' THEN CONVERT(DECIMAL, @STARTCODE ) ELSE E.CD_BEEMP END AND CASE WHEN @CODE_TYPE = 'CD_EMP' OR @CODE_TYPE = 'CD_DEPT' THEN CONVERT(DECIMAL, @ENDCODE ) --조회조건이 전체일 경우 ELSE E.CD_BEEMP END )
2010.12.14 -
Where 절에 case when 구문을 이용한 between 활용
DECLARE @AAA NVARCHAR(4) DECLARE @BBB NVARCHAR(4) SET @FROM_VAL = '0101' SET @TO_VAL = '0311' SELECT * FROM FTB_COM WHERE --CD_COM BETWEEN @AAA AND @BBB CD_COM >= CASE WHEN @FROM_VAL = '' OR @FROM_VAL IS NULL THEN CD_COM ELSE @FROM_VAL END AND CD_COM
2010.12.02