Maison > base de données > tutoriel mysql > le corps du texte

Explication détaillée de l'instruction iif en SQL

黄舟
Libérer: 2017-02-20 11:50:24
original
4285 Les gens l'ont consulté

[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»)
Copier après la connexion

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»)
Copier après la connexion

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)
Copier après la connexion

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
Copier après la connexion

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 )
Copier après la connexion



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) !


Étiquettes associées:
source:php.cn
Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal