본문 바로가기
MySql

MySQL 케이스 표현과 케이스 문

by 베이스 공부 2021. 1. 28.
반응형


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

 

 

반응형

댓글