Latest web development tutorials

función SQL ISNULL (), NVL (), IFNULL () y se unen ()

función SQL ISNULL (), NVL (), IFNULL () y se unen ()

Mira la siguiente tabla "productos":

P_Id ProductName UnitPrice UnitsInStock UnitsOnOrder
1 Jarlsberg 10.45 16 15
2 Mascarpone 32.56 23
3 Gorgonzola 15.67 9 20

Si "UnidadesEnPedido" es opcional, y puede contener valores nulos.

Nosotros usamos la siguiente instrucción SELECT:

SELECT ProductName,UnitPrice*(UnitsInStock+UnitsOnOrder)
FROM Products

En el ejemplo anterior, si hay "UnidadesEnPedido" valor es NULL, el resultado es NULL.

La función de Microsoft ISNULL () se utiliza para especificar cómo manejar los valores NULL.

la función NVL (), IFNULL () y se unen () también puede lograr los mismos resultados.

Aquí, esperamos valor NULL es 0.

Ahora bien, si "UnidadesEnPedido" es NULL, no afecta el cálculo, ya que si el valor es NULL, ISNULL () devuelve 0:

SQL Server / MS Access

SELECT ProductName,UnitPrice*(UnitsInStock+ISNULL(UnitsOnOrder,0))
FROM Products

oráculo

Oracle no IsNull () función. Sin embargo, podemos utilizar la función NVL () para obtener el mismo resultado:

SELECT ProductName,UnitPrice*(UnitsInStock+NVL(UnitsOnOrder,0))
FROM Products

MySQL

MySQL también tiene función similar ISNULL (). Pero funciona con ISNULL de Microsoft () es un poco diferente.

En MySQL, podemos utilizar la función IFNULL () de la siguiente manera:

SELECT ProductName,UnitPrice*(UnitsInStock+IFNULL(UnitsOnOrder,0))
FROM Products

O podemos utilizar la función COALESCE () de la siguiente manera:

SELECT ProductName,UnitPrice*(UnitsInStock+COALESCE(UnitsOnOrder,0))
FROM Products