최상의 답변
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도 지원합니다. 주석 참조).