SQL NULLFunciones
SQL ISNULL(), NVL(), IFNULL() y COALESCE() - Funciones
Mira la siguiente tabla "Products":
| P_Id | ProductName | UnitPrice | UnitsInStock | UnitsOnOrder |
|---|---|---|---|---|
| 1 | Jarlsberg | 10.45 | 16 | 15 |
| 2 | Mascarpone | 32.56 | 23 | |
| 3 | Gorgonzola | 15.67 | 9 | 20 |
Supongamos que "UnitsOnOrder" es opcional y puede contener valores NULL.
Usamos la siguiente sentencia SELECT:
FROM Products
En el ejemplo anterior, si el valor de "UnitsOnOrder" es NULL, entonces el resultado es NULL.
La función ISNULL() de Microsoft se usa para especificar cómo manejar los valores NULL.
Las funciones NVL(), IFNULL() y COALESCE() también pueden lograr el mismo resultado.
Aquí, queremos que el valor NULL sea 0.
A continuación, si "UnitsOnOrder" es NULL, no afectará el cálculo, porque si el valor es NULL, ISNULL() devuelve 0:
SQL Server / MS Access
FROM Products
Oracle
Oracle no tiene la función ISNULL(). Sin embargo, podemos usar la función NVL() para lograr el mismo resultado:
FROM Products
MySQL
MySQL también tiene una función similar a ISNULL(). Sin embargo, su forma de trabajar es un poco diferente a la función ISNULL() de Microsoft.
En MySQL, podemos usar la función IFNULL(), como se muestra a continuación:
FROM Products
O podemos usar la función COALESCE(), como se muestra a continuación:
FROM Products
Otras extensiones