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 el segundo si el primer parámetro es verdadero; en caso contrario, devuelve el tercer parámetro. La función IIF() se utiliza en SQL Server para añadir lógica if-else a las consultas.>
Sintaxis :
IIF(boolean_value, true_value, false_value)
Parámetros utilizados en la sintaxis:
- valor_booleano –
Es un valor a juzgar. Debe ser un valor booleano válido, o la función lanzará un error. - Valor_verdadero –
Es el valor que debe resultar si el valor booleano es verdadero. - Valor_falsos –
Es el valor que debe resultar si el valor booleano es falso.
Datos para saber: La función IIF() es similar a una expresión CASE –
CASE WHEN boolean_expression THEN true_value ELSE false_valueEND
Ejemplo-1 :
Para utilizar la función IIF() para comprobar si 40 < 60 :
SELECT IIF(40 < 60, 'True', 'False') AS Result ;
Salida :
Verdadero
Supongamos que tenemos la siguiente tabla de ejemplo llamada «Geektable»:
G_id | G_status | 3 | 2 | 4 | 4 | 2 | 5 | 3 | 6 | 1 |
---|---|
7 | 2 |
8 | 1 | 9 | 4 |
10 | 1 | 11 | 4 |
12 | 3 |
13 | 1 | 14 |
Ejemplo-2 :
Para utilizar la función IIF() con la columna de la tabla.
El siguiente ejemplo utiliza 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 CountFROM GeektableGROUP BY G_status ;
Salida :
Estado | Cuento |
---|---|
En espera | 4 |
En proceso | 3 |
Rechazado | 4 |
Completado |
Ejemplo-3 :
Utilizar la función IIF() con funciones agregadas.
El siguiente ejemplo utiliza 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 TotalFROM 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.
En espera | En proceso | Rechazado | Total |
---|---|---|---|
4 | 3 | 4 | 15 |
Etiquetas del artículo :