Heim > Datenbank > MySQL-Tutorial > Hauptteil

So verwenden Sie die MySQL-Flusskontrollfunktion

WBOY
Freigeben: 2023-05-28 15:58:17
nach vorne
951 Leute haben es durchsucht

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:

1.IF-Funktion

erzielt den Effekt von IF……ELSE…

# 如果expr1为true,则返回expr2,否则返回expr3
IF(expr1,expr2,expr3)
Nach dem Login kopieren

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;
Nach dem Login kopieren

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;
Nach dem Login kopieren

So verwenden Sie die MySQL-Flusskontrollfunktion

2. Die Funktion IFNULL

erzielt auch den Effekt von IF...

# 如果expr1不为NULL,则返回expr1,否则返回expr2
IFNULL(expr1,expr2)
Nach dem Login kopieren

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-FunktionSo verwenden Sie die MySQL-Flusskontrollfunktion

Case-Funktion hat zwei verschiedene Effekte

Switch 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
Nach dem Login kopieren

ausgedrückt in SQL:

SELECT IF(null IS NULL,null,'不空') AS notNull
Nach dem Login kopieren

Funktionsstruktur

case Variable (Feld) oder zu beurteilender Ausdruck

wenn Konstante 1, dann anzuzeigender Wert 1 (oder Anweisung 1);So verwenden Sie die MySQL-Flusskontrollfunktionwenn Konstante 2, dann Wert 2 (oder Anweisung 2) soll angezeigt werden;

......

else Wert n oder Anweisung n soll angezeigt werden;

end


Hinweis:



unterscheidet sich von Java, schreiben Sie stattdessen die Groß- und Kleinschreibung direkt um, und es gibt keine geschweiften Klammern

Wenn Sie den konstanten Wert direkt hinzufügen, ohne einen Doppelpunkt zu schreiben, verwenden Sie then
  • Wenn danach ein Wert angezeigt wird, ist es nicht erforderlich, ein Semikolon hinzuzufügen Nach der Anweisung then müssen Sie ein Semikolon hinzufügen.
  • when……then…… Es können mehrere Anweisungen vorhanden sein.
  • Die Standardeinstellung ist „sonst“.
  • endet mit end
  • 4. Multiple IF
  • ähnelt Multiple if-Urteilen in Java.

    		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;
            }
    Nach dem Login kopieren

    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`;
    Nach dem Login kopieren

    Funktionsstruktur:

    case

    wenn Bedingung 1, dann Wert 1 oder Anweisung 1 angezeigt werden soll;So verwenden Sie die MySQL-Flusskontrollfunktionwenn Bedingung 2, dann Wert 2 oder Anweisung 2 angezeigt werden soll;

    . .....

    else Wert n oder Anweisung n, der angezeigt werden soll

    end


    Hinweis: Es gibt keine Bedingung nach



    case

    Wenn eine Bedingung folgt, ist das Ergebnis wahr oder falsch; Wenn die Bedingung erfüllt ist, wird der folgende Wert oder die folgende Anweisung angezeigt.
    • Ebenso ist es nicht erforderlich, ein Semikolon hinzuzufügen, wenn danach ein angezeigter Wert steht. Wenn danach eine Anweisung steht, ist ein Semikolon erforderlich .

    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!

Verwandte Etiketten:
Quelle:yisu.com
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage