Dans SQL Server, nous pouvons taper IsNull()
pour déterminer si un champ est null. Existe-t-il une fonction équivalente en PL/SQL?
coalesce
est pris en charge à la fois dans Oracle et SQL Server et remplit essentiellement la même fonction que nvl
et isnull
. (Il existe des différences importantes, coalesce
peut prendre un nombre arbitraire d'arguments et renvoie le premier non-null. Le type de retour pour isnull
correspond au type du premier argument, ce qui n'est pas vrai. pour coalesce
, du moins sur SQL Server.)
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
Utilisez également NVL2
comme ci-dessous si vous souhaitez renvoyer une autre valeur à partir de field_to_check
:
NVL2( field_to_check, value_if_NOT_null, value_if_null )
Utilisation: Oracle/PLSQL: FONCTION NVL2
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: réf. De la fonction NVL .