반응형
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
반응형
'source' 카테고리의 다른 글
TAB에 데이터를 삽입하는 방법LE 유형 변수 (0) | 2023.08.02 |
---|---|
Oracle ojdbc8 12.2.0.1 메이븐에서 금지됨 (0) | 2023.08.02 |
CSS에서 글꼴 놀라운 아이콘 사용 (0) | 2023.08.02 |
jQuery: addClass() 등 사이에 delay()를 호출할 수 있습니까? (0) | 2023.08.02 |
페이지의 다른 곳에서 클릭하여 트위터 부트스트랩 팝업을 닫으려면 어떻게 해야 합니까? (0) | 2023.08.02 |