Escenario:
Está trabajando como desarrollador de SQL Server, debe consultar la tabla dbo.Customer y reemplazar los valores nulos en la columna Nombre por "Nombre desconocido". ¿Qué funciones SQL usará para reemplazar el valor nulo con "Nombre desconocido"?
Solución:
Puede usar las funciones ISNULL o COALESCE para reemplazar Null con el valor que nos gusta. Vamos a crear la tabla dbo.Customer e insertar registros de muestra usando las declaraciones a continuación.--Create dbo.Customer table Create table dbo.Customer( Id int, Name VARCHAR(10), Address VARCHAR(100)) --Insert records in dbo.Customer table Insert into dbo.Customer Values(1,'Aamir','XyZ Address') ,(2,'Raza',Null) ,(3,null,'abc address')Usemos las funciones ISNULL o COALESCE para reemplazar Null con "Nombre desconocido".
Select Id,ISNULL(Name,'Unknown Name') AS NameByISNull, COALESCE(Name,'Unknown Name') NamebyCoalesce, Address From dbo.Customer
Cómo reemplazar valores nulos con valores en SQL Server - Tutorial de TSQL |
Si tiene situaciones como esta, es mejor que use COALESCE. El tipo de datos de una expresión COALESCE es el tipo de datos del argumento de entrada con la precedencia de tipo de datos más alta. En nuestro caso, "Nombre desconocido" tiene 12 caracteres y optó por usarlo en lugar del tipo de datos de la columna Nombre, que es varchar(10).