Postgresql 9.1.24 문서화 | ||||
---|---|---|---|---|
이전 | up | 9 장. 기능 및 운영자 | PostgreSQL : 문서 : 9.1 : 배트맨 토토 함수 및 연산자 |
이 섹션은를 설명합니다.SQL-완성 된 조건부 토토 결과 사용 가능PostgreSQL.
팁 :요구 사항을 뛰어 넘는 경우 이러한 조건부 토토 결과은 고려할 수 있습니다 보다 토토 결과적인 프로그래밍으로 저장된 절차를 작성합니다 언어.
SQL 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"Simple"형태CASE토토 결과의 변형입니다 위의 일반 양식 :
CASE토토 결과언제valuethe결과[언제 ...] [else결과] 끝
첫 번째토토 결과is
계산 된 다음 각에 비해value토토 결과언제토토 결과가 발견 될 때까지 조항
그것. 일치하지 않으면결과의else절 (또는 널 값)이 반환됩니다. 이것은와 비슷합니다.스위치
C. 진술
위의 예는 단순한 것을 사용하여 작성할 수 있습니다CASE구문 :
선택 A, CASE A가 1 일 때 '하나' 2 시절 '2' 다른 '기타' 끝 시험에서; A | 사례 ---+------ 1 | 하나 2 | 둘 3 | 다른
aCASE토토 결과이 평가되지 않습니다 결과를 결정하기 위해 필요하지 않은 모든 하위 토토 결과. 예를 들어, 이것은 피하는 가능한 방법입니다. 부서별 실패 :
선택 ... x < 0 일 때의 경우 y/x 1.5 else false end;
참고 :설명대로섹션 4.2.14, 다양한 상황이 있습니다 발현의 하위 토토 결과은 상이한 것으로 평가된다 시간, 그 원칙이"CASE평가 만 평가합니다 필요한 하위 토토 결과 "는 ironclad가 아닙니다. 을 위한 예제 상수1/0하위 토토 결과은 일반적으로 부서별로 발생합니다 a 내에 있어도 계획 시간에 실패CASE실행 중에 들어 가지 않는 암 시간.
Coalesce
(value[, ...])
theCoalesce
함수 리턴
널이 아닌 첫 번째 주장. NULL이 반환됩니다
모든 인수가 무인 상태 인 경우에만. 종종 대체에 사용됩니다
데이터를 검색 할 때 NULL 값의 기본값
예를 들면 표시 :
Coalesce 선택 (설명, Short_description, '(없음)'...
aCASE토토 결과,Coalesce
그 주장 만 평가합니다
결과를 결정하기 위해 필요합니다. 즉,에 대한 논쟁입니다
첫 번째가 아닌 논증의 권리는 평가되지 않습니다. 이것
SQL 표준 기능은와 유사한 기능을 제공합니다.NVL
및ifnull
17250_17304
Nullif
(value1, value2)
theNullif
함수는 a
IF 님이 null 값value1equalsvalue2; 그렇지 않으면 반환value1. 이것은 사용될 수 있습니다
의 역 작동 수행Coalesce
위에 주어진 예 :
선택 Nullif (value, '(없음)'... 선택
이 예에서 ifvalueis(없음), null이 반환됩니다 의 값value반품.
Greatest
(value[, ...])
최소
(value[, ...])
the가장 큰
and최소
함수를 선택하십시오
토토 결과식 목록에서 가장 작은 값. 그만큼
토토 결과식은 모두 공통 데이터 유형으로 전환 할 수 있어야하며
결과의 유형이 될 것입니다 (참조섹션 10.5자세한 내용). 널
목록의 값은 무시됩니다. 결과는 경우에만 무효입니다
모든 토토 결과은 NULL로 평가합니다.
참고Greatest
and최소
SQL에 없습니다
표준이지만 일반적인 확장입니다. 다른 데이터베이스가 만듭니다
어떤 주장이 있으면 널 돌리면서
모두 null입니다.