Trabajar con valores nulos en SQL Server

No podemos predecir valores para la mayoría de los puntos de datos futuros mientras trabajamos con sistemas de bases de datos. Por ejemplo, las tablas utilizadas para la información del cliente a menudo tienen una columna de número móvil. Es posible que un cliente no tenga un número de teléfono móvil o, por razones de privacidad, no quiera compartir su número de teléfono móvil. En tales casos, podemos usar valores NULL para indicar puntos de datos futuros inciertos.

¿Qué es NULL?

NULL es una palabra clave que significa que no existe ningún valor.

Teniendo en cuenta los valores nulos al diseñar tablas

Necesitamos determinar qué campos van a permitir valores NULL. Al diseñar tablas, debemos considerar qué campos son obligatorios u obligatorios para que los complete el usuario y qué campos no son obligatorios. Sobre esta base, podemos decidir si se permiten valores NULL.

CREAR TABLA Cliente (Customer_id INT CLAVE PRIMARIA, Nombre VARCHAR (50) NOT NULL, Apellido VARCHAR (50) NOT NULL, MobileNo VARCHAR (15) NULL);

Hemos diseñado una tabla, Cliente, en la que todos los campos son obligatorios (NO NULL), excepto el campo MobileNo que permite valores NULL.

Nota: las restricciones de la clave principal siempre son NOT NULL, por lo que no es necesario especificarlas explícitamente.

NOT NULL indica que un valor es obligatorio (se debe proporcionar). NULL indica que el valor no es obligatorio.

Insertando NULLs

Estamos utilizando NULL para el número de móvil en el Caso 2 porque no tenemos un Número de Móvil para CustomerId = 2 en este momento. Asegúrese de no colocar comillas simples alrededor de NULL, ya que se considerará como una cadena en la que NULL es una palabra clave especial.

Caso 1: Tenemos un MobileNo válido.

Insertar en dbo.Customer (Customer_id, FirstName, LastName, MobileNo) Valores (1, 'Hen', 'Kaz', 9833844);

Caso 2: No tenemos un MobileNo y, por lo tanto, lo estamos insertando como NULL.

Insertar en los valores de dbo.Customer (Customer_id, FirstName, LastName, MobileNo) (2, 'Rec', 'John', NULL);

Consultando NULLs

Consultar NULL en SQL es diferente de consultar datos regulares porque no podemos consultar la cadena literaria 'NULL' o buscar un valor igual a NULL.

Caso 1: Consulta incorrecta

SELECCIONAR * DEL CLIENTE DONDE MobileNo = NULL

Caso 2: Consulta incorrecta

SELECCIONAR * DEL CLIENTE DONDE EL MÓVIL No como 'NULL'

Caso 3: consulta válida para encontrar MobileNos con un valor NULO

SELECCIONAR * DEL CLIENTE DÓNDE MobileNo es nulo

Caso 4: consulta válida para encontrar MobileNos que no tiene un valor NULO

SELECCIONAR * DESDE EL CLIENTE DONDE MobileNo NO ES NULO

Actualizando NULLS

Ahora, hemos recibido el número de móvil para id de cliente = 2, que anteriormente era NULL.
Permítanos actualizar el número de móvil para id de cliente = 2, donde el número de móvil ahora es NULL.

--Para el ID del cliente 2 cuyo MobileNo ahora es NULL SELECT * DESDE EL CLIENTE DONDE MobileNo ES NULL Y Customer_id = 2 --Actualizar MobileNo ACTUALIZAR EL CLIENTE SET NO: 91244 DONDE MobileNo ES NULL Y Customer_id = 2 --Ver los cambios WHERE Customer_id = 2 - Configurando MobileNo a NULL nuevamente para incluirlo en eliminar NULL ACTUALIZAR EL CLIENTE CONFIGURAR MobileNo = NULL WHERE Customer_id = 2 SELECCIONE * DEL CLIENTE DONDE MobileNo es nulo y Customer_id = 2

Borrando nulos

Al actualizar los NULL, se recomienda que actualice MobileNo para Id. De cliente = 2 de nuevo a NULL.

Use lo siguiente para eliminar filas que tienen valores NULL:

Eliminar del cliente donde MobileNo IS NULL