프로그래머스에서 sql문제를 풀던 중 다음과 같은 에러를 발견했다.
먼저 작성한 코드를 보자
SELECT WAREHOUSE_ID, WAREHOUSE_NAME,ADDRESS, CASE WHEN FREEZER_YN IS NULL THEN 'N' ELSE FREEZER_YN AS "FREEZER_YN" FROM FOOD_WAREHOUSE WHERE WAREHOUSE_NAME LIKE '%경기%' ORDER BY WAREHOUSE_ID;
이 코드는 경기도에 위치한 식품창고 목록을 출력하는 oracle sql문으로 냉동시설 여부(FREEZER_YN)가 'NULL'인 경우 N을 출력하게 만들어야 한다.
그런데 이 sql문을 그대로 제출할 경우
다음과 같은 오류가 발생한다.
이 오류는 키워드를 빼먹었을 때 발생하는 에러로
나는 case when절에서 마지막에 END를 쓰지 않아 에러가 발생했다. 따라서 올바르게 고치면
SELECT WAREHOUSE_ID, WAREHOUSE_NAME,ADDRESS, CASE WHEN FREEZER_YN IS NULL THEN 'N' ELSE FREEZER_YN END AS "FREEZER_YN" FROM FOOD_WAREHOUSE WHERE WAREHOUSE_NAME LIKE '%경기%' ORDER BY WAREHOUSE_ID;
이며, 결과는
아주 잘 나오는 것을 볼 수 있다.
많은 도움이 되었습니다, 감사합니다.