Función SQL COALESCE y NULL

saber cuándo usar la función SQL COALESCE es un salvavidas cuando se trata de NULL.

como sabes, NULL es un concepto complicado, y parece que lo que NULL «toca» en una expresión, hace que el resultado sea nulo. Entonces, cuando estás tratando con NULL, ¿cómo puedes romper el ciclo? Es decir, ¿cómo se puede mostrar otro valor en su lugar?

Aquí es donde SQL COALESCE entra en juego. Con esta función puede probar NULL, y cuando esté presente, sustituir NULL por otro valor.

¿qué es COALESCE?,

COALESCE es una función SQLServer incorporada. Use COALESCE cuando necesite reemplazar un valor NULL con otro valor. Toma la forma:

COALESCE(value1, value2, ..., valuen)

devuelve el primer no nulo de la lista de valores.

considere los parques de béisbol de Lahmans Baseball Database., Si queremos mostrar el parkname en lugar de la parkalias, que puede ser nulo, se UNEN funciona bien aquí:

SELECCIONE UNEN(parkalias, parkname) como ParkAlias, ciudad, stateFROM Parques
-- AnswerSELECT COALESCE(parkalias, parkname) as ParkAlias, city, stateFROM Parks

En este ejemplo se UNEN(parkalias, parkname) devuelve el valor que se encuentra en parkalias si el valor no es NULO; sin embargo, si es NULL, entonces parkname se devuelve.

¿Qué SQL escribirías si quisieras mostrar ‘Desconocido’ si el parkalias es NULL?, ¿Por qué no intenta escribir la consulta here aquí está un comienzo<

comparando SQL COALESCE con CASE

¿sabía que SQL COALESCE es un acceso directo para la instrucción CASE?

considere la encuesta de tabla, que tiene las columnas answerID, option1, option2, option3.

queremos listar el answerID y la primera opción no nula.

de lo que hemos aprendido podemos usar COALESCE como:

SELECT answerID,
COALESCE(option1, option2, option3, 'No Option Selected')
FROM survey

Este es un atajo para esta instrucción CASE:

SELECT answerID,
CASE
WHEN option1 is not NULL then option1
WHEN option2 is not NULL then option2
WHEN option3 is not NULL then option3
ELSE 'No Option Selected'
END
FROM survey

CASE se usa en más circunstancias, pero al reemplazar NULL, COALESCE es un atajo útil!,

para el registro, SQL Server tiene muchas más funciones interesantes para aprender y explorar. Si aún no lo has hecho, echa un vistazo a estas funciones de cadena para manipular datos de texto!

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *

Ir a la barra de herramientas