In MySQL bezieht sich eine Prozesssteuerungsfunktion auf eine Anweisung, die den Ausführungsfluss einer gespeicherten Prozedur oder Funktion steuern kann. Im Folgenden sind einige häufig verwendete Prozesssteuerungsfunktionen aufgeführt:
erzielt den Effekt von IF……ELSE…
# 如果expr1为true,则返回expr2,否则返回expr3 IF(expr1,expr2,expr3)
Es ist ersichtlich, dass die IF-Funktion dem ternären Operator sehr ähnlich ist, wie zum Beispiel:
// 比较最大数 int a=10; int b=5; // 比较 int bigNum=a>b?a:b;
Das heißt, unter den drei Parametern der IF-Funktion ist expr1 ein bedingter Ausdruck und das Endergebnis ist wahr oder Wenn die Bedingung wahr ist (true), wird Ausdruck2 zurückgegeben, und wenn die Bedingung nicht wahr ist (falsch), wird Ausdruck3 zurückgegeben. Beispiel:
SELECT IF(10>5,10,5) AS bigNum;
erzielt auch den Effekt von IF...
# 如果expr1不为NULL,则返回expr1,否则返回expr2 IFNULL(expr1,expr2)
wandelt den ursprünglichen bedingten Ausdruck in einen Ausdruck um, der bestimmt, ob expr1 null ist. Wenn er leer ist, ist expr2 leer (true). leer (falsch) zeigt expr3 an
3.CASE-Funktion
Case-Funktion hat zwei verschiedene EffekteSwitch CaseÄquivalent zum Effekt von Switch Case in Java. Das heißt, der Wert des Variablenausdrucks in switch wird mit der Konstante hinter dem Fall verglichen.SELECT IFNULL(null,'不空') AS notNull
SELECT IF(null IS NULL,null,'不空') AS notNull
Funktionsstruktur
case Variable (Feld) oder zu beurteilender Ausdruckwenn Konstante 1, dann anzuzeigender Wert 1 (oder Anweisung 1);wenn Konstante 2, dann Wert 2 (oder Anweisung 2) soll angezeigt werden;
......else Wert n oder Anweisung n soll angezeigt werden;
endWenn Sie den konstanten Wert direkt hinzufügen, ohne einen Doppelpunkt zu schreiben, verwenden Sie then
Hinweis:
unterscheidet sich von Java, schreiben Sie stattdessen die Groß- und Kleinschreibung direkt um, und es gibt keine geschweiften Klammern
int week=3; switch (week){ case 1: System.out.println("星期一"); break; case 2: System.out.println("星期二"); break; case 3: System.out.println("星期三"); break; case 4: System.out.println("星期四"); break; case 5: System.out.println("星期五"); break; case 6: System.out.println("星期六"); break; case 7: System.out.println("星期日"); break; default: System.out.println("非法数据"); break; }ausgedrückt in SQL:
# NOW()函数用于获取当前日期和时间, # WEEKDAY(date)函数,表示返回date对应的工作日索引, # 因为索引从0开始,所以加1;也可以不加1,将when的常量改为工作日索引也可 SELECT CASE WEEKDAY(NOW())+1 WHEN 1 THEN '星期一' WHEN 2 THEN '星期二' WHEN 3 THEN '星期三' WHEN 4 THEN '星期四' WHEN 5 THEN '星期五' WHEN 6 THEN '星期六' WHEN 7 THEN '星期日' ELSE '非法数据' END AS `week`;
Funktionsstruktur:
casewenn Bedingung 1, dann Wert 1 oder Anweisung 1 angezeigt werden soll;wenn Bedingung 2, dann Wert 2 oder Anweisung 2 angezeigt werden soll;
. .....else Wert n oder Anweisung n, der angezeigt werden soll
endWenn eine Bedingung folgt, ist das Ergebnis wahr oder falsch; Wenn die Bedingung erfüllt ist, wird der folgende Wert oder die folgende Anweisung angezeigt.
Hinweis: Es gibt keine Bedingung nach
case
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die MySQL-Flusskontrollfunktion. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!