MySQL의 CASE 표현식 이해
직관적인 "if" 문과 달리 MySQL의 CASE 구문은 "switch" 문을 모방합니다. 조건을 평가하고 해당 결과를 반환하는 두 가지 형식을 제공합니다.
비교문 구문:
CASE</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">WHEN user_role = 'Manager' then 4 WHEN user_name = 'Tom' then 27 WHEN columnA <> columnB then 99 ELSE -1 --unknown
END
이 형식을 사용하면 유효한 SQL 표현식을 사용하여 여러 비교 조건을 지정할 수 있습니다. 각 "WHEN" 절은 해당 조건을 평가하고 true이면 해당 문이 실행됩니다.
단일 값을 사용한 구문:
CASE user_role</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">WHEN 'Manager' then 4 WHEN 'Part Time' then 7 ELSE -1 --unknown
END
이 간결한 형식은 하나의 값만 검사한다고 가정하고 CASE 표현식 바로 뒤에 여러 "WHEN" 조건을 지정할 수 있도록 합니다. "ELSE" 절은 선택 사항이며 "WHEN" 조건 중 어느 것도 충족되지 않는 경우 대체 값을 제공합니다.
예제에 적용:
새 "user_role" 필드를 기반으로 "role_order" 필드를 사용하는 경우 다음과 같이 두 번째 구문을 활용할 수 있습니다.
CASE user_role</p> <div class="code" style="position:relative; padding:0px; margin:0px;"><pre class="brush:php;toolbar:false">WHEN 'Manager' then 5 WHEN 'Part Time' then 8 ELSE -1 --unknown
END
이 표현식은 "user_role"이 'Manager'인 경우 "role_order"에 값 5를 할당하고, "user_role"이 'Part Time'인 경우 8, 이러한 조건이 모두 충족되지 않으면 -1을 할당합니다.
위 내용은 MySQL의 CASE 표현식 기능은 Switch 문과 어떻게 유사합니까?의 상세 내용입니다. 자세한 내용은 PHP 중국어 웹사이트의 기타 관련 기사를 참조하세요!