Filtrar los NULL en SQL Server
Hoy veremos como trabajar con los NULL
Como siempre con un pequeño ejemplo acompañado de su código y sus capturas veremos como trabajar con campos con valores «NULL»
Creando una tabla de ejemplo
IF EXISTS(SELECT 1 FROM sys.tables WHERE object_id = OBJECT_ID('myTable')) BEGIN; DROP TABLE [myTable]; END; GO CREATE TABLE [myTable] ( [myTableID] INTEGER NOT NULL IDENTITY(1, 1), [nombre] VARCHAR(255) NULL, [zona] VARCHAR(MAX) NULL, PRIMARY KEY ([myTableID]) ); GO INSERT INTO myTable([nombre],[zona]) VALUES('Levi','MZA'),('Lars','MZA'),('Lee','CBA'),('Tarik',NULL),('Herman',NULL),('Allen',NULL),('George',NULL),('Ciaran',NULL),('Eagan',NULL),('Drake',NULL);
Resultado del script
Esto nos creará una tabla con la siguiente información:
select * from myTable
Filtrando de manera correcta los NULLs
select * from myTable where zona=NULL --Versus select * from myTable where zona IS NULL
Este pequeño ejemplo demuestra como filtrar los NULL mediante el operador IS
El segundo ejemplo es como debemos filtrar los campos con valores NULL
Para terminar con el ejemplo, si tuviésemos que buscar los registros cuyo columna ZONA no contiene valores nulos (NOT NULL). Para ello podríamos realizar lo siguiente:
select * from myTable where zona is NOT NULL
select * from myTable where zona is NOT NULL
este query no funciona con fechas ?