Oracle의 NVL 함수에 해당하는 PostgreSQL은 무엇입니까?


최상의 답변

Oracle의 NVL 함수를 사용하면 null을 문자열로 바꿀 수 있습니다. 쿼리. null 값을 제거하는 데 유용합니다.

구문은 다음과 같습니다.

NVL(exp\_to\_check, replacement\_value)

If exp\_to\_check가 null이면 NLV ()는 replacement\_value를 반환합니다. exp\_to\_check가 null이 아니면 NLV ()는 exp\_to\_check를 반환합니다.

정확히 일치하지는 않지만 PostgreSQL의 COALESCE () 함수는 매우 유사한 기능을 제공합니다. 인수를 무제한으로 허용하고 null이 아닌 첫 번째 인수를 반환합니다. 모든 인수가 null 인 경우 COALESCE 함수는 null을 반환합니다. 구문은 다음과 같습니다.

COALESCE (argument\_1, argument\_2, …)

다음은 Navicat for PostgreSQL 데이터베이스 개발 클라이언트를 사용하여 설명 할 수있는 몇 가지 기본 예입니다.

실제 쿼리에서 COALESCE () 사용

다음은 Sakila 샘플 데이터베이스를 사용하는보다 현실적인 예입니다.

주소 테이블에는 주소와 주소 2 필드가 포함되어 있습니다. 후자는 null 일 수 있습니다. COALESCE () 함수를 사용하여 “N / A”값으로 대체 할 수 있습니다.

Navicat 쿼리 편집기에서 표시 할 수 있고 쿼리에 올바른 구문을 삽입 할 수도 있습니다.

다음은 전체 쿼리 및 결과입니다.

널 address2 값이 변환되었음을 알 수 있습니다.

감사합니다!

아담

답변

COALESCE

예, NVL는 더 짧은 이름이지만 무엇을 알고 있습니까?

  • 아무도 NVL가 무엇을 의미하는지 이해하지 못합니다. 멍청한 사람에게 설명하기는 어렵습니다.
  • NVL는 2 개의 인수 만 취하는 반면 COALESCE는 임의의 숫자를받습니다. .
  • COALESCE는 ANSI 표준 SQL의 일부입니다. 모든 SQL 데이터베이스에서 지원합니다. 포함 Oracle. Oracle만이 NVL를 지원합니다 (그리고 Informix도 지원합니다. 주석 참조).

답글 남기기

이메일 주소를 발행하지 않을 것입니다. 필수 항목은 *(으)로 표시합니다