la función SQL IIF es la nueva función lógica incorporada introducida en SQL Server 2012. Podemos considerar el SQL Server IIF como la forma abreviada de escribir IF Else, y sentencias CASE.

la función IIF de SQL Server aceptará tres argumentos. El primer argumento es la expresión Booleana que devuelve true o false. Si la expresión IIF resulta TRUE, entonces el segundo argumento será devuelto como resultado. De lo contrario, el tercer argumento volverá como salida., Veamos la sintaxis de la función SQL Server IIF:

SQL IIF logical Function Syntax:

la sintaxis de la IIF en SQL Server es la siguiente:

IIF (Boolean_Expression, True_Value, Flase_Value)

si la expresión booleana dada (o condición de prueba) es verdadera, entonces devolverá True_Value. Y si es false, entonces se devolverá False_Value.

SQL IIF comparando dos enteros

Este ejemplo le mostrará la funcionalidad de trabajo de la función IIF en SQL Server

SELECT IIF(10 > 5, 'TRUE', 'FALSE') AS Result;

en la siguiente captura de pantalla, puede observar esa condición dentro de la función IIF (es decir,,, 10 > 5) es verdadero. Por lo tanto, la primera instrucción (o segundo argumento) devuelto como salida, que es TRUE

SQL IIF comparar dos variables enteras

en este ejemplo, vamos a utilizar la función IIF para encontrar si la persona es elegible para votar o no.

en la siguiente captura de pantalla puede observar que,

  • Dentro de la primera instrucción SELECT, la condición dentro de la función IIF (es decir, 12 > 18) es falsa., Por lo tanto, la segunda instrucción (o tercer argumento) devuelta como salida
  • Dentro de la segunda instrucción SELECT, condición dentro de la función IIF (es decir, 34 > 18) es verdadera. Por lo tanto, la primera instrucción (o el segundo argumento) regresó como salida

SQL IIF Compare dos cadenas

en este ejemplo, vamos a usar la función SQL Server IIF para comparar los datos de cadena. Aquí, usamos el comodín ‘ % ‘ dentro de la segunda instrucción SELECT., Por lo tanto, le sugiero que consulte SQL como artículo en SQL Server para más referencia.

SQL Anidada IIF ejemplo

En este ejemplo, vamos a usar el Sql Server Anidada función IIF para saber si la persona es elegible para trabajar o no.

  1. Primero, declaramos una variable entera llamada @ age y asignamos algún valor.
  2. dentro de la función IIF (), la primera condición verifica si la edad es inferior a 18., Si esta condición es True, entonces devolverá la primera instrucción (o segundo argumento) Después de la coma, Que Es usted demasiado joven para trabajar
  3. Cuando la primera condición falla, devuelve la segunda instrucción (o tercer argumento). Al usar SQL Server anidado IIF, estamos comprobando una condición más aquí (@age >= 18 y @age < = 60)., Si esta condición es True, entonces devuelve el primer valor después de la coma, Que Es usted es elegible para trabajar
  4. si la condición anidada falla, ejecutará el valor en el tercer argumento, que es usted es demasiado viejo para trabajar.,

la SALIDA 1: Edad = 12

Edad = 32

Edad = 65

SQL IIF Trabajar con valores NULL

sería mejor si tuviera el cuidado mientras que usted está trabajando con valores NULOS dentro de la función IIF. Siguiendo una serie de ejemplos le ayudará a entender las consecuencias.,

SELECT IIF(10 > 5, NULL, NULL) AS Result;

a partir De la imagen de arriba, se puede observar que es tirar un error. Decir que al menos una de las expresiones resultado (es decir, segundo o tercer argumento Después de la expresión booleana) debe ser una expresión que no sea la constante NULL., Vamos a cambiarlos en consecuencia y ver

SELECT IIF(10 > 5, 'TRUE', NULL) AS Result1;SELECT IIF(10 > 5, NULL, 'FALSE') AS Result2;

SQL IIF valores nulos Opción 2

podemos superar los errores que ocurrieron por las constantes NULL en la función IIF usando los parámetros.

DECLARE @a INT = NULL, @b INT = NULL SELECT IIF ( 10 > 5, @a, @b ) AS Result1;

IIF tipo de Datos con la prioridad más alta

La función IIF devolverá el tipo de datos con la prioridad más alta., En el siguiente ejemplo, el resultado será el tercer argumento (es decir, 100) de tipo entero, pero el resultado muestra 100.00. Porque la función IIF devolverá el tipo de datos de mayor precedencia.

SELECT IIF ( 15 > 50, 12.45, 100 ) AS Result;

por Favor, consulte SI los Demás y en CASO de Declaración de los artículos.

Articles

Deja una respuesta

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