PostgreSQL 9.0.23 문서 | ||||
---|---|---|---|---|
이전 | up | 9 장. 기능 및 운영자 | PostgreSQL : 문서 : 9.0 : 무지개 토토 함수 및 연산자 |
이 섹션은를 설명합니다.SQL-완성 된 조건부 토토 커뮤니티 사용 가능postgresql.
팁 :필요한 기능을 넘어서면 이러한 조건부 토토 커뮤니티은 고려할 수 있습니다 보다 토토 커뮤니티적인 프로그래밍으로 저장된 절차를 작성합니다 언어.
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"Simple"형태case토토 커뮤니티의 변형입니다 위의 일반 양식 :
CASE토토 커뮤니티언제valuethe결과[언제 ...] [else결과] 끝
첫 번째토토 커뮤니티IS
계산 된 다음 각에 비해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;
참고 :설명대로섹션 4.2.13, 다양한 상황이 있습니다 발현의 하위 토토 커뮤니티은 상이한 것으로 평가된다 시간, 그 원칙이"CASE만 평가합니다 필요한 하위 토토 커뮤니티 "는 철분이 없습니다. 을 위한 예제 상수1/0하위 토토 커뮤니티은 일반적으로 부서별로 발생합니다 a 내에 있어도 계획 시간에 실패CASE실행 중에 들어 가지 않는 암 시간.
Coalesce
(value[, ...])
theCoalesce
함수 리턴
널이 아닌 첫 번째 주장. NULL이 반환됩니다
모든 인수가 무인 상태 인 경우에만. 종종 대체에 사용됩니다
데이터를 검색 할 때 NULL 값의 기본값
예를 들면 표시 :
Coalesce 선택 (설명, Short_description, '(없음)'...
좋아요CASE토토 커뮤니티,Coalesce
그 주장 만 평가합니다
결과를 결정하기 위해 필요합니다. 즉,에 대한 논쟁입니다
첫 번째가 아닌 논증의 권리는 평가되지 않습니다. 이것
SQL 표준 기능은와 유사한 기능을 제공합니다.NVL
및ifnull
는 다른 데이터베이스에서 사용됩니다
시스템.
Nullif
(value1, value2)
theNullif
함수는 a
IF 님이 null 값value1Equalsvalue2; 그렇지 않으면 반환value1. 이것은 사용될 수 있습니다
의 역 작동 수행Coalesce
위에 주어진 예 :
선택 Nullif (value, '(없음)'... 선택
이 예에서 ifvalueis(없음), null이 반환됩니다 의 값value반환됩니다.
가장 큰
(value[, ...])
최소
(value[, ...])
theGreatest
and최소
함수를 선택하십시오
토토 커뮤니티식 목록에서 가장 작은 값. 그만큼
토토 커뮤니티식은 모두 공통 데이터 유형으로 전환 할 수 있어야하며
결과의 유형이 될 것입니다 (참조섹션 10.5자세한 내용). 널
목록의 값은 무시됩니다. 결과는 경우에만 무효입니다
모든 토토 커뮤니티은 NULL로 평가합니다.
참고Greatest
and최소
SQL에 없습니다
표준이지만 일반적인 확장입니다. 다른 데이터베이스가 만듭니다
어떤 주장이 있으면 널 돌리면서
모두 null입니다.