source

MySQL - CASE vs IF 문 vs IF 함수

factcode 2023. 8. 2. 09:26
반응형

MySQL - CASE vs IF 문 vs IF 함수

누가 사이의 차이점을 설명해 줄 수 있습니까?CASE-문,IF-명세서 및IF-기능?

사용 및 "작동 방식"의 차이는 무엇입니까?

설명서를 보면, 그것은 다음과 같습니다.if기능은 단지 덜 유연한 형태일 뿐입니다.case표현.예를 들어 다음과 같이 쓸 수 있습니다.

select if(username = 'darxysaq', 'high', 'low') as awesomeness

그리고 그에 상응하는 것은case:

select case when username = 'darxysaq' then 'high' else 'low' end as awesomeness

그렇지만case유연성이 더 높습니다.다음과 같이 둘 이상의 분기를 허용합니다.

select case 
       when username = 'darxysaq' then 'high' 
       when username = 'john skeet' then 'medium' 
       else 'low' 
       end as awesomeness

그리고 그것은 그것처럼 행동할 수 있습니다.switch:

select case username 
       when 'darxysaq' then 'high' 
       when 'john skeet' then 'medium' 
       else 'low' 
       end as awesomeness

이제 더if진술은 완전히 다른 짐승입니다.MySQL 프로시저의 제어 문입니다.문 양식은 다음과 같습니다.

CREATE FUNCTION GetAwesomeness (username varchar(50))
RETURNS varchar(20)
BEGIN
   IF username = 'darxysaq' THEN
      return 'high';
   ELSEIF username = 'john skeet' THEN
      return 'medium';
   ELSE
     return 'low';
   END IF;
END; //

문 버전이 있는 SQL Fiddle입니다.빈 씨는 그가 지어낸 모든 것이 아닌 것처럼 보입니다!

마지막 메모: 더.case표현식은 표준 SQL이며 대부분의 데이터베이스에서 작동합니다.if함수는 표준 SQL이 아니므로 SQL Server 또는 Postgre와 같은 다른 데이터베이스에서 작동하지 않습니다.SQL.

언급URL : https://stackoverflow.com/questions/30047983/mysql-case-vs-if-statement-vs-if-function

반응형