107 votes

Quel est l'équivalent Oracle de la fonction IsNull () de SQL Server?

Dans SQL Server, nous pouvons taper IsNull() pour déterminer si un champ est nul. Existe-t-il une fonction équivalente en PL / SQL?

127voto

Shannon Severance Points 8143

coalesce est pris en charge par Oracle et SQL Server et remplit essentiellement les mêmes fonctions que nvl et isnull . (Il existe des différences importantes, coalesce peut prendre un nombre arbitraire d'arguments et renvoie le premier argument non nul. Le type de retour pour isnull correspond au type du premier argument, ce n'est pas vrai pour coalesce , du moins sur SQL Server.)

107voto

BoltClock Points 249668

Au lieu de ISNULL() , utilisez NVL() .

T-SQL:

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

PL / SQL:

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

27voto

MinhD Points 1116

Utilisez également NVL2 comme ci-dessous si vous souhaitez renvoyer une autre valeur à partir du field_to_check :

 NVL2( field_to_check, value_if_NOT_null, value_if_null )
 

Utilisation: ORACLE / PLSQL: NVL2 FUNCTION

7voto

Vous pouvez utiliser la condition if x is not null then... . Ce n'est pas une fonction. Il y a aussi la fonction NVL() , un bon exemple d'utilisation ici: fonction NVL réf .

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X