테라데이터의 합체

합체는 인수가 널인지 확인하는 데 사용됩니다.
목록에서 널 값이 아님을 순차적으로 확인하고 첫 번째 널 값이 아님을 반환합니다.
구문:

COALESCE(Argument list,)

인수 목록-테이블 또는 식의 열이 될 수있다
모든 인수가 널로 평가하는 경우 합체 널 반환.
그렇지 않으면 지정된 식 목록에서 첫 번째 널이 아닌 인수의 값을 반환합니다.
각 병합 함수에는 두 개 이상의 피연산자가 있어야 합니다. 두 개의 열 또는 하나의 기본값이있는 하나의 열입니다.
아래와 같이 여러 열이 합쳐질 수 있습니다.:

COALESCE(col1, col2, col3, 0)

위의 코드는 콜 1 이 널이면 콜 2 를 검사 할 것이라고 말합니다.
콜 2 가 널이면 콜 3 을 확인합니다.
콜 3 도 널이면 0 이 출력됩니다.
병합에 널 값이 아닌 열이 있는 경우 쿼리에 의해 열 값이 반환됩니다. (왼쪽에서 오른쪽 우선 순위)
예 : 1
국가가 널 값을 사용하는 경우’미국’은 테라데이터

SELECT COALESCE(Country,'US') as Output

출력에 의해 제공됩니다

국가 출력
이탈리아 이탈리아
전화 번호:+86-755-8880555

예:2
다음 예제에서는 명명된 개인의 집 전화 번호(있는 경우)또는 집 전화가 무효 인 경우 사무실 전화 또는 휴대폰이 있고 집 및 사무실 전화 값이 모두 무효 인 경우 집 전화 번호를 반환합니다. 세 값이 모두 널이면 널을 반환합니다.

SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone) FROM PhoneDirectory;

기본값이 제공되면 모든 입력 필드가 널

SELECT Name, COALESCE (HomePhone, OfficePhone, cellPhone,'No Phone') FROM PhoneDirectory;

예:3
||또는*또는+와 같은 비비교 연산자와 합체할 때마다 전체 합체 함수와 피연산자를 괄호로 묶어야 합니다.

SELECT (COALESCE(100,0)) * 5;

답글 남기기

이메일 주소는 공개되지 않습니다.