[Introduction] IIf renvoie l'une des deux valeurs numériques ou de chaîne déterminées par un test logique. Syntaxe NumericIIf(«Logical Expression», «Numeric Expression1», «Numeric Expression2») If «Logica
IIf
renvoie l'une des deux valeurs numériques ou de chaîne déterminées par un test logique un.
Syntaxe
Nombre
IIf(«Logical Expression», «Numeric Expression1», «Numeric Expression2»)
Si « Expression logique » est VRAI, cette fonction renvoie « Expression numérique 1 », sinon, renvoie « Expression numérique 2 ».
Chaîne
IIf(«Logical Expression», «String Expression1», «String Expression2»)
Si « Expression logique » est évaluée à VRAI, cette fonction renvoie « Expression de chaîne 1 », sinon, renvoie « Expression de chaîne 2 ».
Remarques
L'expression est considérée comme FAUX uniquement si la valeur de « Expression logique » est nulle. Toute autre valeur est interprétée comme VRAI.
Il n'est pas recommandé d'utiliser la fonction Iif pour créer une collection de membres basée sur des conditions de recherche. Utilisez plutôt la fonction Filter pour évaluer chaque membre de la collection spécifiée par rapport à une expression logique et renvoyer une sous-collection des membres.
Exemple
Number
L'exemple suivant renvoie 0 si Measures.CurrentMember est une cellule vide et 1 sinon :
IIf(IsEmpty(Measures.CurrentMember), 0, 1)
String
If Measures. CurrentMember est une cellule vide, la chaîne suivante renvoie la chaîne "Oui", sinon elle renvoie la chaîne "Non":
IIf(IsEmpty(Measures.CurrentMember), "Oui", "Non")
Dans Access, je peux utiliser la fonction IIF pour un récapitulatif statistique. Par exemple, pour connaître le nombre d'utilisateurs qui devraient réellement payer :
Sélectionnez sum(iif(amount >). ;0, 1,0)) comme num from fee
ne semble pas avoir de fonction correspondante dans SQL Server. J'utilise :
select sum(case when montant>0 puis 1 sinon 0 end) comme num from The cost.
ne semble pas très intuitif, je me demande s'il existe d'autres méthodes
cas quand ....puis sinon fin
Exemple :
select id,case when bz='1' then xx when bz='2' then yy else zz end as tt from xxx
Et MID, LEFT, etc. ? Comment l'utiliser en SQL ?
MID est une sous-chaîne en SQL
LEFT est LEFT en SQL
Par exemple, sous-chaîne (champ, position de départ, combien de temps prendre)
gauche (champ, combien de temps prendre)
SUBSTRING ( expression , start , length )
Paramètres
expression
est une chaîne, une chaîne binaire, un texte, une image, une colonne ou une expression contenant des colonnes. N'utilisez pas d'expressions contenant des fonctions d'agrégation.
start
est un entier spécifiant la position de départ de la sous-chaîne.
length
est un entier précisant la longueur de la sous-chaîne (nombre de caractères ou d'octets à retourner).
LEFT
Renvoie le nombre spécifié de caractères en commençant par le côté gauche de la chaîne.
Syntaxe
LEFT ( character_expression , integer_expression )
Paramètres
expression_caractère
Expression de caractère ou de données binaires. Character_expression peut être une constante, une variable ou une colonne. Character_expression doit être d'un type de données implicitement convertible en varchar. Sinon, utilisez la fonction CAST pour convertir explicitement l'expression_caractère.
integer_expression
est un entier positif. Si expression_entier est négatif, une chaîne vide est renvoyée.
Type de retour
varchar
Ce qui précède est l'explication détaillée de l'instruction iif en SQL Pour plus de contenu connexe, veuillez faire attention au site Web chinois PHP (www. php.cn) !