IIF(...) une unité de fonction intégrée
Je suis en train de l'utiliser dans Microsoft SQL Server 2008 R2:
SET @SomeVar = @SomeOtherVar +
IIF(@SomeBool, 'value when true', 'value when false')
Mais j'obtiens une erreur:
IIF(...)
n'est pas reconnu, intégré dans le nom de la fonction
Est IIF()
seulement compatible avec une version ultérieure?
Est-il une autre fonction que je peux utiliser?
- La plupart des pages de BOL d'avoir une "Autres Versions" lien/déroulante en dessous du titre, si l'élément existe dans les versions précédentes. Compte tenu de l'absence sur cette page, je dirais que c'est un 2012 fonctionnalité.
- double possible de SQL Server 2008 IIF déclaration ne semble pas activé
IIF()
est un MS fonction d'Accès. Lecase
états décrits dans les réponses sont la norme ANSI façon de faire les instructions conditionnelles.
Vous devez vous connecter pour publier un commentaire.
Comme d'autres l'ont dit, IIF vient de SQL 2012. Avant cela, vous pouvez utiliser
CAS
:IIF
, pasIFF
. Sinon, vérifiez le Niveau de Compatibilité de la configuration de votre base de données.Nouveautés de SQL Server 2012, Améliorations Des Fonctionnalités De Programmation:
IIF
est pas valable pour SQL Server 2008 R2 et la version d'avant.I
a été introduit dans SQL Server 2012 (il n'y a pas de lien pour les versions précédentes sur la page de documentation j'ai lié à).Vous pouvez également utiliser la norme SI la déclaration si elle est à l'extérieur d'un select.
E. g.