Función IIF() en SQL Server

La función IIF() de SQL Server tiene tres parámetros. La función IIF() juzga o evalúa el primer parámetro y devuelve los segundos parámetros si los primeros parámetros son verdaderos; de lo contrario, devuelve los terceros parámetros. Función IIF() utilizada en SQL Server para agregar lógica if-else a las consultas.>

Sintaxis:

IIF(boolean_value, true_value, false_value)

Parámetros utilizados en la sintaxis:

  • boolean_value –
    Es un valor a juzgar. Debe ser un valor booleano válido o la función generará un error.
  • true_value:
    es el valor que se obtendrá si el boolean_value es verdadero.
  • false_value:
    es el valor que se obtendrá si el valor booleano es falso.

Dato a saber: La función IIF() es similar a una expresión CASE – 

CASE  
   WHEN boolean_expression  
       THEN true_value
   ELSE
       false_value
END

Ejemplo-1:
Para usar la función IIF() para verificar si 40 <60:

SELECT  IIF(40 < 60, 'True', 'False') AS Result ; 

Salida: Resultado

Verdadero

Supongamos que tenemos una tabla de muestra a continuación llamada » Geektable «:

G_id G_status
1 3
2 2
3 4
4 2
5 3
6 1
7 2
8 1
9 4
10 1
11 4
12 3
13 1
14 3

Ejemplo-2:
Para usar la función IIF() con la columna de la tabla.
El siguiente ejemplo usa la función IIF() dentro de las funciones IIF():

SELECT    
   IIF(G_status = 1, ‘Waiting’,  
       IIF(G_status=2, ‘InProgress’,
           IIF(G_status=3, ‘Rejected’,
               IIF(G_status=4, ‘Completed’)
           )
       )
   ) AS Status,

   COUNT(G_id) AS Count
FROM Geektable
GROUP BY G_status ; 

Producción :

Estado Contar
Esperando 4
En progreso 3
Rechazado 4
Terminado 3

Ejemplo-3:
Para usar la función IIF() con funciones agregadas.
El siguiente ejemplo usa la función IIF() con la función SUM():

SELECT    
   SUM(IIF(G_status = 1, 1, 0)) AS ‘Waiting’,  
   SUM(IIF(G_status = 2, 1, 0)) AS ‘InProgress’,  
   SUM(IIF(G_status = 3, 1, 0)) AS ‘Rejected’,  
   SUM(IIF(G_status = 4, 1, 0)) AS ‘Completed’,  
   COUNT(*) AS Total

FROM  Geektable;

Salida:
aquí, la función IIF() da como resultado 1 o 0 si el estado coincide. La función SUM() da como resultado el número de cada estado.

Esperando En progreso Rechazado Terminado Total
4 3 4 3 15

Publicación traducida automáticamente

Artículo escrito por khushboogoyal499 y traducido por Barcelona Geeks. The original can be accessed here. Licence: CCBY-SA

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *