반응형
Case 문 구문 :
CASE
WHEN search_condition THEN statement_list
[WHEN search_condition THEN statement_list] ...
[ELSE statement_list]
END CASE
케이스 표현식 구문 :
CASE
WHEN [condition] THEN result
[WHEN [condition] THEN result ...]
[ELSE result]
END
거의 동일 해 보이지만 Case 문에 대한 초기 설명은 저장 프로그램에 대한 CASE 문이 복잡한 조건 구조를 구현한다는 것입니다.
동일 해 보이기 때문에 알아야 할 다른 구문상의 차이점이 있습니까?
해결 방법
CASE
표현식은 값으로 평가됩니다. 즉, 일부 조건에 따라 결과 집합 중 하나를 평가하는 데 사용됩니다.
예:
SELECT CASE
WHEN type = 1 THEN 'foo'
WHEN type = 2 THEN 'bar'
ELSE 'baz'
END AS name_for_numeric_type
FROM sometable`
CASE
문은 일부 조건에 따라 문 집합 중 하나를 실행합니다.
예:
CASE
WHEN action = 'update' THEN
UPDATE sometable SET column = value WHERE condition;
WHEN action = 'create' THEN
INSERT INTO sometable (column) VALUES (value);
END CASE
그것들이 어떻게 유사한 지 알 수 있지만 문은 값으로 평가되지 않으며 그 자체로 사용할 수 있지만 식은 식의 일부 여야합니다. 쿼리 또는 할당. 쿼리에는 명령문을 포함 할 수 없기 때문에 쿼리에서 명령문을 사용할 수 없습니다. SELECT CASE WHEN condition THEN UPDATE table SET something; END CASE
는 의미가 없습니다.
참조 페이지 https://stackoverflow.com/questions/12436859
반응형
'MySql' 카테고리의 다른 글
MySQL 존재하는 경우 업데이트 오류 (0) | 2021.01.28 |
---|---|
MySQL IF EXISTS UPDATE ELSE INSERT의 구문 오류 (0) | 2021.01.28 |
MySQL REGEX-문자와 마침표가 포함 된 행만 선택 (0) | 2021.01.28 |
MySQL SQL Order By list of strings? (0) | 2021.01.28 |
MySQL OUTER JOIN 구문 오류 (0) | 2021.01.28 |
댓글