Fonction SQL Server IIF

Fonction SQL Server IIF

Les déclarations conditionnelles sont un élément constitutif important de la programmation. Dans cet article, nous apprendrons à utiliser la fonction iif () dans SQL Server pour ajouter des fonctionnalités IF-Else aux requêtes SQL.

Fonction SQL Server IIF ()

L'extrait de code suivant montre la syntaxe de fonction:

Iif (boolean_expression, true_value, false_value)

La fonction accepte trois arguments principaux:

  1. Expression booléenne - définit une expression booléenne valide qui est évaluée. Si ce n'est pas une expression booléenne valide, la fonction renvoie une erreur.
  2. vraie valeur - Définit la valeur à retourner si l'expression évalue.
  3. False_values - fait référence à la valeur renvoyée si l'expression booléenne évalue à false.

Exemple 1

Ce qui suit montre une utilisation simple de la fonction iif ().

Declare @var int = 100, @ var_2 int = 10;
sélectionnez [plus grand] = iif (@var> @ var_2, @var, @ var_2);

La requête ci-dessus compare les deux valeurs et renvoie la valeur maximale. Un exemple de sortie est comme indiqué:

le plus grand |
-------+
100 |

Exemple 2 - Utilisation de la fonction IIF () avec une valeur non booteenne

L'exemple ci-dessous utilise la fonction iif () avec une expression non booteenne. Cela oblige la fonction à renvoyer une erreur comme illustré ci-dessous:

Declare @var int = 100, @ var_2 int = 10;
sélectionnez [plus grand] = iif (null, @var, @ var_2);

Sortir:

Erreur SQL [4145] [S0001]: une expression de type non booléen spécifié dans un contexte où une condition est attendue, près de '(' ('.

Exemple 3 - Utilisation de la fonction iif () avec des valeurs nulles

L'exemple ci-dessous utilise les fonctions iif () avec des valeurs nulles.

Declare @var int = null, @ var_2 int = null;
sélectionnez [plus grand] = iif (@var> @ var_2, @var, @ var_2);

Cela devrait revenir nul comme:

le plus grand |
-------+
|

Conclusion

Ce court tutoriel couvre la fonction iif () dans SQL Server. Cette fonction fournit une syntaxe abrégée pour la fonction de cas.