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