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

9.18. 조건부 메이저 토토 사이트#

이 섹션은를 설명합니다.SQL-정식 조건 메이저 토토 사이트식에서 사용할 수 있습니다PostgreSQL.

귀하의 요구가 이러한 조건부 메이저 토토 사이트식의 기능을 넘어 서면보다 메이저 토토 사이트적인 프로그래밍 언어로 서버 측 기능을 작성하는 것이 좋습니다..

Note

비록Coalesce, Greatest최소는 함수와 구문 적으로 유사하며 일반적인 기능이 아니므로 명시 적으로 사용할 수 없습니다variadic배열 인수.

9.18.1. case #

theSQL CASE메이저 토토 사이트식은 다른 프로그래밍 언어의 IF/Else 문과 유사한 일반적인 조건 메이저 토토 사이트식입니다.

케이스조건the결과[언제 ...]
     [else결과]
끝

CASE메이저 토토 사이트이 유효한 곳에서 조항을 사용할 수 있습니다. 각조건a를 반환하는 메이저 토토 사이트입니다.부울결과. 조건의 결과가 참이면의 값은CASE메이저 토토 사이트은결과조건을 따르는 것은CASE메이저 토토 사이트이 처리되지 않았습니다. 조건의 결과가 사실이 아닌 경우, 후속언제조항은 같은 방식으로 검사됩니다. 그렇지 않은 경우언제 조건True의 값은입니다.CASE메이저 토토 사이트은결과else절. 인 경우else조항이 생략되고 조건이 참이없고 결과는 null입니다.

예 :

test에서 선택 *;

 에이
---
 1
 2
 3

A,
       a = 1 그런 다음 'one'인 경우
            a = 2 때 '2'
            다른 '기타'
       끝
    시험에서;

 A | 사례
---+------
 1 | 하나
 2 | 둘
 3 | 다른

모든 데이터 유형결과메이저 토토 사이트식은 단일 출력 유형으로 변환 할 수 있어야합니다. 보다섹션 10.5자세한 내용은

a단순형태case위의 일반 형태의 변형 인 메이저 토토 사이트 :

CASE메이저 토토 사이트언제valuethe결과[언제 ...]
    [else결과]
끝

첫 번째메이저 토토 사이트계산 된 다음 각와 비교하여value메이저 토토 사이트언제하나가 발견 될 때까지 조항. 일치하지 않으면결과else절 (또는 널 값)이 반환됩니다. 이것은와 비슷합니다.스위치C. 진술

위의 예는 단순한 것을 사용하여 작성할 수 있습니다CASE구문 :

A, A,
       CASE A가 1 일 때 '하나'
              2 시절 '2'
              다른 '기타'
       끝
    시험에서;

 A | 사례
---+------
 1 | 하나
 2 | 둘
 3 | 다른

aCASE메이저 토토 사이트은 결과를 결정하는 데 필요하지 않은 하위 메이저 토토 사이트을 평가하지 않습니다. 예를 들어, 이것은 부서별 실패를 피할 수있는 가능한 방법입니다 :

선택 ... x < 0 일 때의 경우 y/x 1.5 else false end;

Note

설명대로섹션 4.2.14CASE필요한 하위 메이저 토토 사이트 만 평가예를 들어 상수1/0Subexpression은 일반적으로 A 내에 있더라도 계획 시간에 영역으로 실패하게됩니다CASE런 타임에 결코 입력되지 않을 팔.

17799_17814Coalesce #

Coalesce(value[, ...])

theCoalesce함수는 NULL이 아닌 첫 번째 인수를 반환합니다. NULL은 모든 인수가 NULL 인 경우에만 반환됩니다. 표시를 위해 데이터가 검색 될 때 NULL 값의 기본값을 대체하는 데 종종 사용됩니다.

Coalesce 선택 (설명, short_description, '(없음)'...

이것은 반환설명null이 아닌 경우 그렇지 않으면short_descriptionnull이 아닌 경우 그렇지 않으면(없음).

인수는 모두 공통 데이터 유형으로 전환 할 수 있어야하며 결과의 유형이 될 것입니다 (참조메이저 토토 사이트 PostgreSQL : 문서 : 18 : 10.5. 연합, 사례 및 관련 구성자세한 내용).

aCASE메이저 토토 사이트,Coalesce결과를 결정하는 데 필요한 인수 만 평가합니다. 즉, 첫 번째가 아닌 논증의 권리에 대한 논쟁은 평가되지 않습니다. 이 SQL 표준 기능은와 유사한 기능을 제공합니다.NVLandifnull, 다른 일부 데이터베이스 시스템에서 사용됩니다.

9.18.3. Nullif #

Nullif(value1, value2)

theNullif함수가 널 값을 반환합니다value1Equalsvalue2; 그렇지 않으면 반환value1. 이것은의 역 작동을 수행하는 데 사용될 수 있습니다.Coalesce위에 주어진 예 :

선택 Nullif (value, '(없음)'... 선택

이 예에서 ifvalueis(없음), null이 반환됩니다. 그렇지 않으면value반품.

두 인수는 비슷한 유형이어야합니다. 구체적으로 말하면, 당신이 작성한 것처럼 정확히 비교됩니다value1=value2, 적절한 것이 있어야합니다=운영자 사용 가능.

결과는 첫 번째 인수와 같은 유형을 가지고 있지만 미묘함이 있습니다. 실제로 반환되는 것은 묵시적 첫 번째 주장입니다=운영자 및 경우에 따라 두 번째 인수 유형과 일치하도록 홍보 될 경우. 예를 들어,Nullif (1, 2.2)수확량숫자, 없기 때문에정수 = 숫자운영자, Only숫자 = 숫자.

9.18.4. Greatestand최소 #

가장 큰(value[, ...])
최소(value[, ...])

theGreatestand최소함수 수의 메이저 토토 사이트 목록에서 가장 크거나 작은 값을 선택하십시오. 메이저 토토 사이트식은 모두 공통 데이터 유형으로 전환 할 수 있어야하며 결과의 유형이됩니다 (참조메이저 토토 사이트 PostgreSQL : 문서 : 18 : 10.5. 연합, 사례 및 관련 구성자세한 내용).

인수 목록의 널 값은 무시됩니다. 결과는 모든 메이저 토토 사이트이 Null로 평가되는 경우에만 무효입니다. (이것은 SQL 표준과의 편차입니다. 표준에 따르면, 인수가 널이면 리턴 값이 널입니다. 일부 다른 데이터베이스는 이런 식으로 행동합니다.)