Respuestas:
coalescees compatible con Oracle y SQL Server y tiene esencialmente la misma función que nvly isnull. (Hay algunas diferencias importantes, coalescepuede tomar un número arbitrario de argumentos y devuelve el primero que no es nulo. El tipo de retorno para isnullcoincide con el tipo del primer argumento, que no es cierto para coalesce, al menos en SQL Server).
COALESCE, que tiene una ventaja importante NVL: realiza una evaluación de atajos, mientras que NVLsiempre evalúa ambos parámetros. Comparar COALESCE(1,my_expensive_function)con NVL(1,my_expensive_function).
COALESE()función es excelente y puede leer sobre ella en MSDOC> COALESCE ; esta misma sintaxis funciona en Oracle. Si los datos tienen cadenas vacías en lugar de NULLS es posible que tenga algo como esto: COALESCE(TRIM(Tbl.myField1), TRIM(Tbl.myField2)) AS "myNewField".
En lugar de ISNULL(), utilice NVL().
T-SQL:
SELECT ISNULL(SomeNullableField, 'If null, this value') FROM SomeTable
PL / SQL:
SELECT NVL(SomeNullableField, 'If null, this value') FROM SomeTable
También use NVL2como se muestra a continuación si desea devolver otro valor de field_to_check:
NVL2( field_to_check, value_if_NOT_null, value_if_null )
Puedes usar la condición if x is not null then.... No es una función. También está la NVL()función, un buen ejemplo de uso aquí: NVL function ref .
COALESCEes ANSI, compatible con Postgres, MySQL ... La única advertencia es que no necesariamente funciona tan rápido como la sintaxis nativa.