상세 컨텐츠

본문 제목

CASE WHEN 사용 시 '' 근처의 구문이 잘못되었습니다.

에러 수정

by dajingjing 2022. 3. 17. 09:53

본문

MSSQL에서 CASE WHEN 을 사용할 때 SQL Error [102] [S0001] ''근처의 구문이 잘못되었습니다. 라는 에러가 발생했다.

아래 예시 테이블을 보면서 확인해보자.

↓ (CASE WHEN을 사용하여 아래와 같이 조회)

알파벳이 'A'일때는 이름이 '에이'로, 'B'일때는 이름이 '비'로, 'C'일때는 '씨'로 조회되게

WHERE절에 CASE WHEN 을 사용하여 아래와 같이 쿼리문을 작성한다고 해보자.

 

SELECT * FROM ABC_TABLE 
WHERE CASE WHEN 알파벳 = 'A' THEN 이름 = '에이'

                   WHEN 알파벳 = 'B' THEN 이름 = '비'

                   ELSE 이름 = '씨'

                   END

 

위와 같이 THEN 뒤에 부등호 조건이 나오면

SQL Error [102] [S0001]: '=' 근처의 구문이 잘못되었습니다. 라고 에러가 발생한다.

 

위 쿼리문을 '이름 =' 부분을 CASE WHEN 앞으로 빼줘서

아래처럼 변경해주면 원하는 데이터가 에러없이 출력된다.

 

SELECT * FROM ABC_TABLE
WHERE 이름 = CASE WHEN 알파벳 = 'A' THEN '에이'

                             WHEN 알파벳 = 'B' THEN '비'

                             ELSE '씨'

                             END

관련글 더보기