Tutorial SQL

INICIO SQL Introducción a SQL Sintaxis SQL Seleccionar SQL SQL Seleccionar Distinto SQL donde SQL y, o no Orden SQL por Insertar SQL en Valores nulos de SQL Actualización SQL Eliminar SQL SQL Seleccionar parte superior SQL mínimo y máximo Recuento de SQL, Promedio, Suma SQL como Comodines de SQL SQL en SQL entre Alias ​​SQL Uniones SQL Combinación interna de SQL Unión izquierda de SQL Unión derecha de SQL Unión completa de SQL Unión automática de SQL Unión SQL Grupo SQL por SQL teniendo SQL existe SQL Cualquiera, Todo SQL Seleccionar en Insertar SQL en Seleccionar Caso SQL Funciones nulas de SQL Procedimientos almacenados de SQL Comentarios SQL Operadores SQL

Base de datos SQL

SQL Crear base de datos Base de datos de caída de SQL Base de datos de copia de seguridad de SQL Crear tabla SQL Tabla desplegable de SQL Tabla de modificación de SQL Restricciones SQL SQL no nulo SQL único Clave principal de SQL Clave foránea de SQL Comprobación SQL Valor predeterminado de SQL Índice SQL Incremento automático de SQL Fechas SQL Vistas SQL Inyección SQL Alojamiento SQL Tipos de datos SQL

Referencias SQL

Palabras clave de SQL Funciones MySQL Funciones del servidor SQL Funciones de MS Access Referencia rápida de SQL

Ejemplos SQL

Ejemplos SQL Cuestionario de SQL Ejercicios SQL Certificado SQL

Funciones SQL NULL


Funciones SQL IFNULL(), ISNULL(), COALESCE() y NVL()

Mira la siguiente tabla de "Productos":

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

Suponga que la columna "UnitsOnOrder" es opcional y puede contener valores NULL.

Mire la siguiente instrucción SELECT:

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

En el ejemplo anterior, si cualquiera de los valores de "UnitsOnOrder" es NULL, el resultado será NULL.


Soluciones

mysql

La función MySQL IFNULL()le permite devolver un valor alternativo si una expresión es NULL:

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

o podemos usar la función, así: COALESCE()

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

servidor SQL

La función de SQL Server ISNULL()le permite devolver un valor alternativo cuando una expresión es NULL:

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

MS Access

La función de MS Access IsNull()devuelve VERDADERO (-1) si la expresión es un valor nulo, de lo contrario FALSO (0):

SELECT ProductName, UnitPrice * (UnitsInStock + IIF(IsNull(UnitsOnOrder), 0, UnitsOnOrder))
FROM Products;

Oráculo

La función de Oracle NVL()logra el mismo resultado:

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