이 섹션은를 설명합니다.SQL-정식 조건 범퍼카 토토식 사용 가능postgresql.
팁 :귀하의 요구가 기능을 뛰어 넘는 경우 이러한 조건부 범퍼카 토토식을 고려하고 싶을 수도 있습니다 보다 범퍼카 토토적인 프로그래밍으로 저장된 절차를 작성합니다 언어.
theSQL case범퍼카 토토식은 일반적인 조건입니다 범퍼카 토토, 다른 사람의 IF/Else 진술과 유사합니다 언어 :
케이스조건the결과[언제 ...] [else결과] 끝
case조항은 어디에서나 사용할 수 있습니다 범퍼카 토토은 유효합니다.조건a를 반환하는 범퍼카 토토입니다.부울결과. 결과가 참이면의 값은CASE범퍼카 토토은결과조건을 따릅니다. 만약 결과는 모든 후속의 거짓입니다.언제조항도 같은 방식으로 검색됩니다. 그렇지 않은 경우언제 조건IS 사실 그러면 사례 범퍼카 토토의 가치는입니다.결과inelse절. 인 경우else절은 생략되었습니다 그리고 조건이 일치하지 않으면 결과는 null입니다.
예 :
선택 *에서 Test에서 선택; 에이 --- 1 2 3 A, a = 1 그런 다음 'one'인 경우 a = 2 때 '2' 다른 '기타' 끝 시험에서; A | 사례 ---+------ 1 | 하나 2 | 둘 3 | 다른
모든 데이터 유형결과범퍼카 토토식을 전환 할 수 있어야합니다 단일 출력 유형. 보다섹션 10.5더 많은 세부 사항.
다음"단순" CASE범퍼카 토토식은 특수한 변형입니다 위의 일반 양식 :
CASE범퍼카 토토언제valuethe결과[언제 ...] [else결과] 끝
the범퍼카 토토계산되었습니다
그리고 모든 것과 비교value사양언제클로즈까지
범퍼카 토토는 동일하다는 것을 알 수 있습니다. 일치하지 않으면결과inelse절 (또는 널 값)이 반환됩니다. 이것은
와 비슷합니다스위치
진술
C.
위의 예는 단순한 것을 사용하여 작성할 수 있습니다CASE구문 :
A, A, CASE A가 1 일 때 '하나' 2 시절 '2' 다른 '기타' 끝 시험에서; A | 사례 ---+------ 1 | 하나 2 | 둘 3 | 다른
aCASE범퍼카 토토이 평가되지 않습니다 결과를 결정하기 위해 필요하지 않은 모든 하위 범퍼카 토토. 예를 들어, 이것은 피하는 가능한 방법입니다. 부서별 실패 :
선택 ... x < 0 일 때의 경우 y/x 1.5 else false end;
Coalesce
(value[, ...])
theCoalesce
함수 리턴
널이 아닌 첫 번째 주장. NULL이 반환됩니다
모든 인수가 무인 상태 인 경우에만. 종종 대체에 사용됩니다
데이터를 검색 할 때 NULL 값의 기본값
예를 들면 표시 :
Coalesce 선택 (설명, short_description, '(없음)'...
aCASE범퍼카 토토,Coalesce
는 인수를 평가하지 않습니다
결과를 결정할 필요가 없습니다. 즉,에 대한 논쟁입니다
첫 번째가 아닌 논증의 권리는 평가되지 않습니다. 이것
SQL 표준 기능은와 유사한 기능을 제공합니다.NVL
andifnull
는 다른 데이터베이스에서 사용됩니다
시스템.
Nullif
(value1, value2)
theNullif
함수는 a
IF 님이 null 값value1andvalue2동일합니다. 그렇지 않으면
보고value1. 이것은 될 수 있습니다
의 역 작동을 수행하는 데 사용됩니다Coalesce
위에 주어진 예 :
nullif (value, '(없음)'... 선택
ifvalue1is(없음), null을 반환하고 그렇지 않으면 반환value1.
Greatest
(value[, ...])
최소
(value[, ...])
the가장 큰
and최소
함수를 선택하십시오
범퍼카 토토식 목록에서 가장 작은 값. 그만큼
범퍼카 토토식은 모두 공통 데이터 유형으로 전환 할 수 있어야하며
결과의 유형이 될 것입니다 (참조섹션 10.5자세한 내용). 널
목록의 값은 무시됩니다. 결과는 경우에만 무효입니다
모든 범퍼카 토토은 NULL로 평가합니다.
참고가장 큰
and최소
는 SQL에 없습니다
표준이지만 일반적인 확장입니다.