la fonction SQL IIF est la nouvelle fonction logique intégrée introduite dans SQL Server 2012. Nous pouvons considérer le SQL Server IIF comme la manière abrégée d’écrire IF Else et les instructions CASE.
la fonction SQL Server IIF acceptera trois arguments. Le premier argument est l’expression Booléenne qui renvoie true ou false. Si L’expression IIF est vraie, le deuxième argument sera renvoyé en conséquence. Sinon, le troisième argument retournera en sortie., Voyons la syntaxe de la fonction SQL Server IIF:
syntaxe de la fonction logique SQL IIF:
la syntaxe de L’IIF dans SQL Server est la suivante:
IIF (Boolean_Expression, True_Value, Flase_Value)
Si l’expression booléenne donnée (ou la condition de test) est vraie, alors elle retournera True_Value. Et si c’est faux, alors False_Value sera retourné.
SQL IIF comparant deux entiers
Cet exemple vous montrera la fonctionnalité de travail de la fonction IIF dans SQL Server
SELECT IIF(10 > 5, 'TRUE', 'FALSE') AS Result;
à partir de la capture d’écran ci-dessous, vous pouvez observer cette Condition dans la fonction IIF,, 10 > 5) est vrai. Ainsi, la première instruction (ou le deuxième argument) renvoyée en sortie, qui est TRUE
SQL IIF Compare deux variables entières
dans cet exemple, nous allons utiliser la fonction IIF pour déterminer si la personne est éligible voter ou non.
à partir de la capture d’écran ci-dessous, vous pouvez observer que,
- Dans la première instruction SELECT, la condition à l’intérieur de la fonction IIF (c’est-à-dire 12> 18) est fausse., Ainsi, la deuxième instruction (ou le troisième argument) renvoyée en sortie
- Dans la deuxième instruction SELECT, condition à l’intérieur de la fonction IIF (c’est-à-dire 34 > 18) est vraie. Ainsi, la première instruction (ou le deuxième argument) renvoyée en sortie
SQL IIF comparer deux chaînes
dans cet exemple, nous allons utiliser la fonction SQL Server IIF pour comparer les données de chaîne. Ici, nous avons utilisé le caractère générique » % » dans la deuxième instruction SELECT., Donc, je vous suggère de vous référer à L’article SQL LIKE dans SQL Server pour plus de référence.
SQL Imbriquée IIF exemple
Dans cet exemple, nous allons utiliser le Serveur Sql Imbriquée fonction IIF pour savoir si la personne est admissible à travailler ou pas.
- tout d’abord, nous avons déclaré une variable entière appelée @age et attribué une valeur.
- Dans la fonction IIF (), la première condition vérifie si l’âge est inférieur à 18 ans., Si cette condition est vraie, elle renverra la première instruction (ou le deuxième argument) après la virgule, ce qui signifie que vous êtes trop jeune pour travailler
- lorsque la première condition échoue, elle renvoie la deuxième instruction (ou le troisième argument). En utilisant SQL Server imbriqué IIF, nous vérifions une condition de plus ici (@age >= 18 et @age < = 60)., Si cette condition est Vraie, alors il retourne la première valeur après la virgule, ce qui est Vous êtes admissible à Travailler
- Si le Imbriquée condition échoue, il exécutera la valeur à la troisième argument, c’est que Vous êtes trop Vieux pour Travailler.,
SORTIE 1: Age = 12
Age = 32
Âge = 65
SQL IIF Travailler avec des valeurs NULL
Il serait mieux si vous avez été prudent lorsque vous travaillez avec des valeurs NULLES à l’intérieur de la fonction IIF. Les séries suivantes d’exemples vous aideront à comprendre les conséquences.,
SELECT IIF(10 > 5, NULL, NULL) AS Result;
à Partir de l’écran ci-dessus, vous pouvez observer qu’il est en train de jeter une erreur. Dire qu’au moins une des expressions du résultat (c’est-à-dire le deuxième ou le troisième argument après L’expression Boolean_) doit être une expression autre que la constante NULL., Laissez-nous changer en conséquence et voir
SELECT IIF(10 > 5, 'TRUE', NULL) AS Result1;SELECT IIF(10 > 5, NULL, 'FALSE') AS Result2;
SQL IIF les valeurs NULL Option 2
Nous pouvons surmonter les erreurs qui se sont produites par le NULL constantes dans la fonction IIF à l’aide des paramètres.
DECLARE @a INT = NULL, @b INT = NULL SELECT IIF ( 10 > 5, @a, @b ) AS Result1;
IIF type de Données ayant la priorité la plus élevée
La fonction IIF sera de retour le type de données ayant la priorité la plus élevée., Dans l’exemple suivant, le résultat sera le troisième argument (c’est-à-dire 100) de type integer, mais le résultat affiche 100.00. Parce que la fonction IIF renverra le type de données de priorité le plus élevé.
SELECT IIF ( 15 > 50, 12.45, 100 ) AS Result;
Veuillez vous référer SI d’Autre et en CAS de Déclaration d’articles.