SQL Server의 IsNull () 함수에 해당하는 Oracle은 무엇입니까?


답변:


131

coalesce모두 오라클과 SQL 서버 지원과 같이 본질적으로 동일한 기능을 제공한다 nvl하고 isnull. (몇 가지 중요한 차이점 coalesce이 있습니다. 임의 개수의 인수를 사용할 수 있으며 첫 번째 Null이 아닌 인수를 반환합니다.에 대한 반환 형식 은 적어도 SQL Server에서 isnull에는 true가 아닌 첫 번째 인수의 형식과 일치합니다 coalesce.)


9
+1 : COALESCEANSI, Postgres, MySQL 지원 ... 유일한주의 사항은 기본 구문만큼 빠르지 않다는 것입니다.
OMG Ponies

17
에 대한 +1 COALESCE은 한 가지 중요한 이점이 있습니다 NVL. 바로 가기 평가를 수행하는 반면 NVL항상 두 매개 변수를 모두 평가합니다. COALESCE(1,my_expensive_function)와 비교하십시오 NVL(1,my_expensive_function).
Jeffrey Kemp

COALESE()함수는 훌륭하며 MSDOC> COALESCE 에서 읽을 수 있습니다 . 동일한 구문이 Oracle에서도 작동합니다. 데이터에 NULL 대신 빈 문자열이있는 경우 다음과 같은 것이 필요할 수 있습니다 COALESCE(TRIM(Tbl.myField1), TRIM(Tbl.myField2)) AS "myNewField"..
SherlockSpreadsheets

108

대신 ISNULL(), 사용 NVL().

T-SQL :

SELECT ISNULL(SomeNullableField, 'If null, this value') FROM SomeTable

PL / SQL :

SELECT NVL(SomeNullableField, 'If null, this value') FROM SomeTable

2
질문에 명시 적으로 대답합니다.
Gary Huckabone 16.

31

NVL2에서 다른 값을 반환 하려면 다음 과 같이 사용 하십시오 field_to_check.

NVL2( field_to_check, value_if_NOT_null, value_if_null )

사용법 : ORACLE / PLSQL : NVL2 FUNCTION


당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.