이 문서는 지원되지 않는 PostgreSQL 버전에 대한 것입니다.
당신은 다음과 같은 페이지를 보고 싶을 수도 있습니다.4다른_메이저 토토 사이트메이저 토토 사이트8버전 또는 위에 나열된 다른 지원 버전 중 하나를 사용하세요.

9.13. 조건부 와이즈 토토식

이 섹션에서는 다음에 대해 설명합니다.SQL-호환 조건식 에서 사용 가능PostgreSQL.

팁:귀하의 요구가 다음의 능력을 넘어서는 경우 고려해야 할 조건식 보다 와이즈 토토력이 뛰어난 프로그래밍으로 저장 프로시저 작성 언어.

9.13.1. 사례

SQL 사례와이즈 토토식은 일반적인 조건부입니다. 다른 if/else 문과 유사한 와이즈 토토식 언어:

경우조건그때결과
     [언제 ...]
     [ELSE결과]
끝

사례절은 어디에서나 사용할 수 있습니다. 와이즈 토토은 유효합니다.조건a를 반환하는 와이즈 토토식입니다.부울결과. 결과가 true이면의 값은 다음과 같습니다.사례와이즈 토토식은결과조건을 따릅니다. 만약 이후의 결과는 거짓입니다.언제절도 같은 방식으로 검색됩니다. 그렇지 않은 경우언제 조건이다 true이면 케이스 와이즈 토토식의 값은 다음과 같습니다.결과에서ELSE절. 만약ELSE절이 생략되었습니다. 일치하는 조건이 없으면 결과는 null입니다.

예:

SELECT * FROM 테스트;

 에
---
 1
 2
 3

선택하다,
       a=1이면 '1'인 경우
            a=2이면 '2'
            ELSE '기타'
       종료
    테스트에서;

 | 케이스
---+---------
 1 | 하나
 2 | 두
 3 | 다른

모든 데이터 유형결과식은 다음으로 변환 가능해야 합니다. 단일 출력 유형. 참조섹션 10.5더 보기 자세히.

다음"간단함" 사례와이즈 토토식은 다음의 특수화된 변형입니다. 위의 일반 형식:

사례와이즈 토토언제그때결과
    [언제 ...]
    [ELSE결과]
끝

와이즈 토토계산됩니다 그리고 모든 것과 비교하면사양은언제절 종료: 동일한 것이 발견되었습니다. 일치하는 항목이 없으면결과에서ELSE절(또는 null 값)이 반환됩니다. 이것은 와 비슷하다스위치문장 C에서.

위의 예는 간단한 명령을 사용하여 작성할 수 있습니다.사례구문:

선택,
       CASE a WHEN 1 THEN '1'
              WHEN 2 THEN '둘'
              ELSE '기타'
       종료
    테스트에서;

 | 케이스
---+---------
 1 | 하나
 2 | 두
 3 | 기타

A 사례와이즈 토토식은 평가되지 않습니다. 결과를 결정하는 데 필요하지 않은 하위 와이즈 토토식. 예를 들어, 이것은 다음과 같은 상황을 피할 수 있는 방법입니다. 0으로 나누기 실패:

SELECT ... WHERE CASE WHEN x < 0 THEN y/x  1.5 ELSE false END;

9.13.2. 합체

합체( [, ...])

합체함수 반환 null이 아닌 첫 번째 인수입니다. Null이 반환됩니다. 모든 인수가 null인 경우에만. 이는 종종 다음과 같은 경우에 유용합니다. 데이터가 있을 때 null 값을 기본값으로 대체합니다. 표시를 위해 검색되었습니다. 예를 들면 다음과 같습니다.

SELECT COALESCE(설명, short_description, '(없음)') ...

좋아요사례와이즈 토토,합체인수를 평가하지 않습니다. 결과를 결정하는 데 필요하지 않습니다. 즉, 다음 주장에 대한 주장이다. null이 아닌 첫 번째 인수의 오른쪽은 평가되지 않습니다.

9.13.3. NULLIF

NULLIF(값1, 값2)

NULLIF함수는 다음을 반환합니다. 다음과 같은 경우에만 null 값입니다.값1그리고값2동등합니다. 그렇지 않으면 반환됩니다.값1. 이것은 다음에 사용될 수 있습니다 의 역연산을 수행한다.합체위에 제시된 예:

SELECT NULLIF(값, '(없음)') ...