Función TSQL en SQL Server

NULLIF es una función aplicada a devolver un valor NULO si se especifica dos expresiones (expresión1 = expresión2) son iguales. La función NULLIF es una Función ANSI, está disponible con otros proveedores de RDBMS como ORACLE, MySQL, Postgres y entre otros.

La función NULLIF puede ser útil en los casos en que las aplicaciones utilizan diferentes indicadores para representar un valor perdido o desconocido que se puede transformar en NULL mientras se representa un registro en una tabla.

Índice de contenidos

    Sintaxis: función NULLIF en SQL Server

    NULLIF (expression1, expression2)

    Puntos para reflexionar - NULLIF - SQL Server

    1. Si expresión1 y expresión2 son iguales luego la función NULLIF regresa NULO como salida.

    2. Si expresión1 y expresión2 no son iguales luego la función NULLIF devuelve la expresión1 como salida.

    3. La función NULLIF es una representación abreviada de la aplicación de una declaración CASE en el SERVIDOR SQL.

    Repasemos algunos ejemplos para obtener información sólida sobre la función NULLIF en SQL Server.

    1.1 - SQL Server - Función NULLIF - Devuelve NULL

    En el siguiente ejemplo, podemos observar que ambas expresiones son iguales, por lo tanto, la función NULLIF devuelve NULO como resultado esperado.

    DECLARE  @MyString1 as VARCHAR(20) = 'Tech-recipes.com'        ,@MyString2 as VARCHAR(20) = 'Tech-recipes.com';SELECT NULLIF(@MyString1,  @MyString2) as NULLIF_Example;

    1.1 Ejemplo de NULLIF: demostración en vivo

    1.2 - SQL Server - Función NULLIF - Devuelve la primera expresión

    En el siguiente ejemplo, cuando expression1 es no es igual a expresión2, la función NULLIF devuelve el expresión1 como salida.

    DECLARE  @Number1  as INT = 10        ,@Number2 as INT  = 20;SELECT NULLIF(@Number1,  @Number2) as NULLIF_Example;

    1.2 Ejemplo de NULLIF: demostración en vivo

    NULLIF_SQL_Server_TSQL

    1.3 - SQL Server - Función NULLIF - Comparación de cadenas vacías

    La principal razón de propósito comercial para usar la función NULLIF para comparar valores existentes con cadenas vacías " y almacenar NULL en una tabla en lugar de almacenar " cuerda vacía.

    En la mayoría de los casos, durante la migración de datos desde un sistema heredado, encontramos que muchas de las filas tienen cadenas vacías y, según el nuevo diseño de la base de datos, queremos tener un NULL para mostrar valores desconocidos o faltantes, en este caso, podemos usar NULLIF función.

    Siguiendo el ejemplo, puede ver que en lugar de insertar una cadena vacía contra ID = 2, tenemos el indicador NULL en la tabla @Information.

    DECLARE @Information TABLE(    Id           INT     ,Description  VARCHAR(255) NULL);    Insert Into @InformationSELECT 1,NULLIF('Niraj','')UNIONSELECT 2,NULLIF('','')UNION SELECT 3,NULLIF('Vish','')UNION SELECT 4,NULLIF('Chetan','');    SELECT * FROM @Information;

    1.3 Ejemplo de NULLIF: demostración en vivo

    NULLIF_SQL_Server_TSQL

    1.4 - SQL Server - Función NULLIF con AVG ()

    Como sabemos, los valores NULL son ignorados por cada función agregada excepto COUNT (1) o COUNT

    IF OBJECT_ID('Employee') IS NOT NULLDROP TABLE Employee;Create Table Employee(    Id     INT IDENTITY(1,1)   ,Name   VARCHAR(255)   ,Salary DECIMAL(18,2));INSERT INTO EmployeeSELECT 'Niraj', 100UNION  SELECT 'Vish', 0UNIONSELECT 'Chetan', 300;SELECT AVG(NULLIF(Salary, 0)) as AvgSalaryIgnoreZeroSalaryFROM   Employee;

    . Encontremos el promedio del salario donde el salario NO es NULO. En el caso de que el salario sea "0" o NULO, ignórelos en la agregación promedio.

    1.4 Ejemplo de NULLIF: demostración en vivo

    NULLIF_SQL_Server_TSQL 1,5

    - SQL Server - Sentencia CASE y función NULLIF

    DECLARE @TestData TABLE(    Id     INT IDENTITY,    Name1  VARCHAR(255),    Name2  VARCHAR(255));INSERT INTO @TestData SELECT 'Rush', 'Rush'UNION SELECT 'Alp', 'Alpha'UNIONSELECT 'Nkit', 'Nkit'UNIONSELECT 'shew', 'shewt';SELECT Id, Name1, Name2, NULLIF(Name1,Name2)FROM   @TestData;SELECT Id, Name1, Name2, CASE WHEN Name1 = Name2 THEN NULL Else Name1 ENDFROM   @TestData;

    El siguiente ejemplo muestra, la función NULLIF es una versión simplificada de la instrucción CASE, podemos obtener un tipo de salida similar usando la instrucción CASE como lo obtenemos con la función NULLIF.

    1.5 Ejemplo de NULLIF: demostración en vivo

    NULLIF_SQL_Server_TSQL Resumen

    - En esta publicación de recetas técnicas, hemos analizado la función NULLIF en SQL Server con ejemplos valiosos. Puede encontrar muchas publicaciones útiles de los archivos de recetas técnicas de SQL Server como referencia.

    Califica post
    blank

    Correo Total

    Nuestro sitio web tiene como objetivo ofrecer toda la asistencia necesaria para deshacerse de todos los problemas a los que se enfrenta un usuario en su vida diaria mientras trabaja con cualquiera de los productos técnicos. Somos un equipo de soporte técnico muy consciente de la angustia y el sufrimiento que uno tiene que atravesar debido a fallas técnicas y fallas durante las horas impares del día.

    Descubre más contenido

    Subir