요약:이 자습서에서는 첫 번째 null 이 아닌 인수를 반환하는 PostgreSQL COALESCE 함수에 대해 배우게됩니다. SELECT 문에서이 함수를 적용하여 null 값을 효과적으로 처리하는 방법을 배우게됩니다.
PostgreSQL 병합 기능을 구
의 구문은COALESCE
기능은 다음과 같습니다:
Code language: SQL (Structured Query Language) (sql)
COALESCE
기능은 무제한의 인수입니다. Null 이 아닌 첫 번째 인수를 반환합니다., 모든 인수가 null 이면COALESCE
함수는 null 을 반환합니다.
COALESCE
함수는 첫 번째 null 이 아닌 인수를 찾을 때까지 왼쪽에서 오른쪽으로 인수를 평가합니다. 첫 번째 null 이 아닌 인수의 나머지 인수는 모두 평가되지 않습니다.
COALESCE
기능과 동일한 기능을 제공하는NVL
또는IFNULL
기능을 제공하여 SQL-표준입니다. Mysql 에는 Ifnull 기능이 있지만 Oracle 은NVL
기능을 제공합니다.,
다음 예를 참조하십시오:
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
우리가 자주 사용하는COLAESCE
기능을 대체하는 기본값 null 값을 때 우리는 우리를 쿼리하는 데이터입니다. 예를 들어,우리는 표시하고 싶은 발췌로서 블로그 포스팅을 경우,발췌문 제공하지 않은,우리가 사용할 수 있는 첫 번째 150 의 캐릭터의 내용을 게시합니다., 이를 달성하기 위해,우리가 사용할 수 있는COALESCE
기능은 다음과 같습니다:
Code language: SQL (Structured Query Language) (sql)
PostgreSQL COALESCE 예
살펴에서 사용하는 예를COALESCE
기능이다. 첫째,우리는 테이블을 만들라는 항목을 사용하여 만들 TABLE 문 다음과 같다:
Code language: SQL (Structured Query Language) (sql)
네 가지 분야에서items
테이블:
- id:기본 키를 식별하는 항목에서 항목이다.
- 제품:제품 이름.
- 가격:제품의 가격.,
- 할인:제품의 할인.
두 번째,우리는 삽입하는 일부 레코드로 항목을 사용하여 테이블을 삽입하는 문은 다음과 같다:
셋째,우리는 쿼리 가격의 제품을 사용하여 수식은 다음과 같습니다.
Code language: SQL (Structured Query Language) (sql)
Code language: SQL (Structured Query Language) (sql)
을 보면 네 번째 행 당신다는 것을 알 수 있 net 제품의 가격을D
null 는 것 올바르지 않습니다., 문제는 제품D
의 할인이 null 이므로 null 값을 취하여 순 가격을 계산하면 PostgreSQL 이 null 을 반환합니다.올바른 가격을 얻으려면 할인이 null 이면 0 이라고 가정해야합니다., 그런 다음 우리가 사용할 수 있는COALESCE
기능은 다음과 같습니다:
Code language: SQL (Structured Query Language) (sql)
이제 인터넷 가격의 제품을D
은500
기 때문에 우리가 사용하는 제 null 대신 값을 때 우리는 계산물 가격입니다.
COALESCE
함수를 사용하는 것 외에도 CASE 표현식을 사용하여이 경우 null 값을 처리 할 수 있습니다. 위의 동일한 결과를 얻으려면CASE
표현식을 사용하는 다음 쿼리를 참조하십시오.,
Code language: SQL (Structured Query Language) (sql)
에서 쿼리가 우리가 말하는 경우 할인이 null 이 사용 zero(0)그렇지 않으면 사용 할인 값을 표현하는 계산물 가격입니다.
성능면에서COALESCE
함수와 대소 문자 표현은 동일합니다. 우리가 선호하는COALESCE
기능 이상CASE
식기 때문에COALESCE
기능을 통해 쿼리를 짧고 쉽게 읽을 수 있습니다.
이 자습서에서는COALESCE
함수를 사용하여 쿼리의 null 값을 대체하는 방법을 배웠습니다.,이 튜토리얼이 도움이 되었습니까?
Leave a Reply