Heim >Datenbank >MySQL-Tutorial >Detaillierte Erläuterung der iif-Anweisung in SQL
[Einführung] IIf gibt einen von zwei numerischen oder Zeichenfolgenwerten zurück, die durch einen logischen Test ermittelt werden. Syntax NumericIIf(«Logischer Ausdruck», «Numerischer Ausdruck1», «Numerischer Ausdruck2») If «Logica
IIf
gibt einen von zwei numerischen oder Zeichenfolgenwerten zurück, die durch einen logischen Test ermittelt wurden eins.
Syntax
Zahl
IIf(«Logical Expression», «Numeric Expression1», «Numeric Expression2»)
Wenn „Logischer Ausdruck“ TRUE ist, gibt diese Funktion „Numerischer Ausdruck1“ zurück, andernfalls „Numerischer Ausdruck2“.
String
IIf(«Logical Expression», «String Expression1», «String Expression2»)
Wenn „Logical Expression“ TRUE ergibt, gibt diese Funktion „String Expression1“ zurück, andernfalls „String Expression2“.
Hinweise
Der Ausdruck gilt nur dann als FALSCH, wenn der Wert von „Logischer Ausdruck“ Null ist. Jeder andere Wert wird als TRUE interpretiert.
Es wird nicht empfohlen, die Iif-Funktion zum Erstellen einer Sammlung von Mitgliedern basierend auf Suchbedingungen zu verwenden. Verwenden Sie stattdessen die Filterfunktion, um jedes Mitglied der angegebenen Sammlung anhand eines logischen Ausdrucks auszuwerten und eine Untersammlung der Mitglieder zurückzugeben.
Beispiel
Zahl
Das folgende Beispiel gibt 0 zurück, wenn Measures.CurrentMember eine leere Zelle ist, andernfalls 1:
IIf(IsEmpty(Measures.CurrentMember), 0, 1)
String
Wenn Measures. CurrentMember ist eine leere Zelle, die folgende Zeichenfolge gibt die Zeichenfolge „Ja“ zurück, andernfalls wird die Zeichenfolge „Nein“ zurückgegeben:
IIf(IsEmpty(Measures.CurrentMember), „Yes“, „No“)
In Access kann ich die IIF-Funktion für eine statistische Zusammenfassung verwenden, um beispielsweise die Anzahl der Benutzer zu ermitteln, die tatsächlich zahlen sollten:
Wählen Sie sum(iif(amount > ;0, 1,0)) als Zahl aus Gebühr
scheint keine entsprechende Funktion in SQL Server zu haben. Ich verwende:
select sum(case when amount>0 then 1 else 0 end) as num from The cost
scheint nicht sehr intuitiv zu sein, ich frage mich, ob es andere Methoden gibt
Fall, wenn .... dann sonst Ende
Beispiel:
select id,case when bz='1' then xx when bz='2' then yy else zz end as tt from xxx
Was ist mit MITTE, LINKS, usw. ? Wie verwende ich es in SQL?
MID ist Teilzeichenfolge in SQL
LEFT ist LEFT in SQL
Zum Beispiel Teilzeichenfolge (Feld, Startposition, Dauer)
links (Feld, Dauer)
SUBSTRING (Ausdruck, Anfang, Länge)
Parameter
Ausdruck
ist eine Zeichenfolge, eine binäre Zeichenfolge, ein Text, ein Bild, eine Spalte oder ein Ausdruck, der Spalten enthält. Verwenden Sie keine Ausdrücke, die Aggregatfunktionen enthalten.
start
ist eine Ganzzahl, die die Startposition der Teilzeichenfolge angibt.
length
ist eine Ganzzahl, die die Länge der Teilzeichenfolge angibt (Anzahl der zurückzugebenden Zeichen oder Bytes).
LEFT
Gibt die angegebene Anzahl von Zeichen beginnend auf der linken Seite der Zeichenfolge zurück.
Syntax
LEFT ( character_expression , integer_expression )
Parameter
character_expression
Zeichen- oder Binärdatenausdruck. charakterausdruck kann eine Konstante, eine Variable oder eine Spalte sein. „character_expression“ muss einen Datentyp haben, der implizit in varchar konvertierbar ist. Andernfalls verwenden Sie die CAST-Funktion, um „character_expression“ explizit zu konvertieren.
integer_expression
ist eine positive ganze Zahl. Wenn integer_expression negativ ist, wird eine leere Zeichenfolge zurückgegeben.
Rückgabetyp
varchar
Das Obige ist die detaillierte Erklärung der iif-Anweisung in SQL. Weitere verwandte Inhalte finden Sie auf der chinesischen PHP-Website (www. php.cn)!