Aquí veremos cómo filtrar filas sin nulo en una columna de una tabla de base de datos de MS SQL Server con la ayuda de una consulta SQL usando el operador IS NOT NULL.
Para fines de demostración, crearemos una tabla demo_orders en una base de datos llamada «geeks».
Creación de la base de datos:
Use la siguiente instrucción SQL para crear una base de datos llamada geeks:
CREATE DATABASE geeks;
Uso de la base de datos:
Use la siguiente instrucción SQL para cambiar el contexto de la base de datos a geeks:
USE geeks;
Definición de tabla:
Tenemos la siguiente tabla de demostración en nuestra base de datos de geeks .
CREATE TABLE demo_orders( ORDER_ID INT IDENTITY(1,1) PRIMARY KEY, --IDENTITY(1,1) is same as AUTO_INCREMENT in MySQL. --Starts from 1 and increases by 1 with each inserted row. ITEM_NAME VARCHAR(30) NOT NULL, ORDER_DATE DATE );
Puede usar la siguiente declaración para consultar la descripción de la tabla creada:
EXEC SP_COLUMNS demo_orders;
Agregando datos a la tabla:
Use la siguiente declaración para agregar datos a la tabla demo_orders :
INSERT INTO demo_orders --no need to mention columns explicitly as we --are inserting into all columns and ID gets --automatically incremented. VALUES ('Maserati', '2007-10-03'), ('BMW', '2010-07-23'), ('Mercedes Benz', '2012-11-12'), ('Ferrari', '2016-05-09'), ('Lamborghini', '2020-10-20');
Para verificar el contenido de la tabla, use la siguiente declaración:
SELECT * FROM demo_orders;
Ahora insertemos algunas filas sin valores (o valores nulos) en la columna order_date .
INSERT INTO demo_orders(ITEM_NAME) VALUES ('NullRowOne'), ('NullRowTwo'), ('NullRowThree');
La tabla después de los datos recién insertados sería como:
A continuación se muestra la sintaxis para filtrar las filas sin un valor nulo en una columna específica.
Syntax: SELECT * FROM <table_name> WHERE <column_name> IS NOT NULL;
Ejemplo:
SELECT * FROM demo_orders WHERE ORDER_DATE IS NOT NULL; --Will output the rows consisting of non null order_date values.
Producción: