Uso de COALESCE en SQL Server
Hoy vamos a ver un comando de Transact SQL parecido a ISNULL pero con unas características y diferencias muy útiles.
Devuelve la primera expresión que no tenga el valor NULL entre sus argumentos.
Sintaxis:
COALESCE (expression [ ,...n ] )
Argumentos
expression : Es una expresión de cualquier tipo.
Tipos de valor devueltos
Devuelve el tipo de datos de expression con la precedencia de tipo de datos más alta. Si ninguna de las expresiones admiten valores NULL, el resultado tiene un tipo que no admite valores NULL.
Notas
Si todos los argumentos son NULL, COALESCE devuelve NULL.
COALESCE(expression1,...n) es equivalente a la siguiente expresión CASE:
CASE
WHEN (expression1 IS NOT NULL) THEN expression1
WHEN (expression2 IS NOT NULL) THEN expression2
...
ELSE expressionN
END
Ejemplo:
SELECT Id, Descripcion, COALESCE(PrecioOferta,PrecioCliente,PVP1,0) AS Precio
FROM Productos
Referencia
Más Información…
Devuelve la primera expresión que no tenga el valor NULL entre sus argumentos.
Sintaxis:
COALESCE (expression [ ,...n ] )
Argumentos
expression : Es una expresión de cualquier tipo.
Tipos de valor devueltos
Devuelve el tipo de datos de expression con la precedencia de tipo de datos más alta. Si ninguna de las expresiones admiten valores NULL, el resultado tiene un tipo que no admite valores NULL.
Notas
Si todos los argumentos son NULL, COALESCE devuelve NULL.
COALESCE(expression1,...n) es equivalente a la siguiente expresión CASE:
CASE
WHEN (expression1 IS NOT NULL) THEN expression1
WHEN (expression2 IS NOT NULL) THEN expression2
...
ELSE expressionN
END
Ejemplo:
SELECT Id, Descripcion, COALESCE(PrecioOferta,PrecioCliente,PVP1,0) AS Precio
FROM Productos
Referencia
Más Información…
se puede usar para un cambio vacío distinto de null
ResponderEliminar