이 섹션은를 설명합니다.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, '(없음)'...
좋아요CASE와이즈 토토,Coalesce
그 주장을 평가하지 않습니다
결과를 결정할 필요가 없습니다. 즉,에 대한 논쟁입니다
첫 번째가 아닌 논증의 권리는 평가되지 않습니다.
Nullif
(value1, value2)
theNullif
함수는 a
널 값이라면value1andvalue2동일합니다. 그렇지 않으면 반환value1. 이것은 사용될 수 있습니다
의 역 작동 수행Coalesce
위에 주어진 예 :
선택 Nullif (value, '(없음)'... 선택