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
[jQuery] select 박스 option 값을 배열로 가져오기, 나열하기, map() (0) | 2022.04.15 |
---|---|
[jQuery]table tr id 없이 table tr(row) 숨기기 ( tr hide without tr id) (0) | 2022.03.31 |
SQL Error [422] [S0004]: 공통 테이블 식이 정의되어 있지만 사용되지 않았습니다. (0) | 2022.03.29 |
구글 chart에서 title, subtitle 폰트 변경 (0) | 2022.03.28 |
JEUS WAS 에서 no sapjco3 in java.library.path 에러 (0) | 2022.03.15 |