Maison >base de données >tutoriel mysql >Comment utiliser la fonction de contrôle de flux MySQL
Dans MySQL, une fonction de contrôle de processus fait référence à une instruction qui peut contrôler le flux d'exécution d'une procédure ou d'une fonction stockée. Voici plusieurs fonctions de contrôle de processus couramment utilisées :
permet d'obtenir l'effet IF……ELSE…….
# 如果expr1为true,则返回expr2,否则返回expr3 IF(expr1,expr2,expr3)
On voit que la fonction IF est très similaire à l'opérateur ternaire, tel que :
// 比较最大数 int a=10; int b=5; // 比较 int bigNum=a>b?a:b;
C'est-à-dire que parmi les trois paramètres de la fonction IF, expr1 est l'expression conditionnelle, le résultat final est vrai ou faux, si la condition est vraie (vrai), expr2 est renvoyée, si la condition n'est pas vraie (faux), expr3 est renvoyée. Exemple :
SELECT IF(10>5,10,5) AS bigNum;
permet également d'obtenir l'effet IF……ELSE……, tout à fait Une variante de la fonction IF.
# 如果expr1不为NULL,则返回expr1,否则返回expr2 IFNULL(expr1,expr2)
C'est-à-dire que l'expression conditionnelle d'origine est transformée pour déterminer si expr1 est nulle. Si elle n'est pas nulle, elle est elle-même (expr1, elle est expr2). 🎜🎜#
SELECT IFNULL(null,'不空') AS notNull#🎜 🎜#
Equivalent à la fonction IF
SELECT IF(null IS NULL,null,'不空') AS notNull
Détermine si expr1 est vide, si elle est vide (vrai) elle s'affichera expr2, s'il n'est pas vide (faux) il affichera expr3
3.La fonction CASE
switch case
est équivalent au cas de commutation dans Java Effect. Autrement dit, la valeur de l'expression variable dans switch est comparée à la constante derrière le cas.
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; }
exprimé en 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`;
Structure des fonctions
case Obligatoire La variable (champ) ou l'expression à jugerquand constante 1 puis valeur 1 (ou instruction 1) à afficher;# 🎜🎜#quand constante 2 puis valeur 2 (ou instruction 2) à afficher;#🎜 🎜 #......
else Valeur n ou instruction n à afficher ;
end
Note :
est différent de Java, vous écrivez directement la casse au lieu de switch, et il n'y a pas d'accolades
quand ajoutez la valeur constante directement après , sans écrire de deux points, utilisez What is then
S'il y a une valeur affichée après then, il n'est pas nécessaire d'ajouter un point-virgule s'il y a une instruction après ; alors, un point-virgule est requis.
quand……then…… Il peut y avoir plusieurs déclarations.
La valeur par défaut est autre.
se termine par la fin
4. java Plusieurs if Jugements dans .
int grade=87; if (grade>=90){ System.out.println("优秀"); }else if (grade>=80){ System.out.println("良好"); }else if (grade>=70){ System.out.println("一般"); }else if (grade>=60){ System.out.println("及格"); }else { System.out.println("不及格"); }
SELECT id,`name`,chinese, CASE WHEN chinese>=90 THEN '优秀' WHEN chinese>=80 THEN '良好' WHEN chinese>=70 THEN '一般' WHEN chinese>=60 THEN '及格' ELSE '不及格' END AS `rank` FROM studentStructure des fonctions :
case quand la condition 1 puis la valeur 1 ou l'instruction 1 à afficher
quand la condition 2 puis la valeur 2 ou l'instruction 2 à afficher ; Valeur affichée n ou instruction nend
quand est suivi d'une condition, le résultat est vrai ou faux ; si la condition est remplie, alors est exécuté et la valeur ou l'instruction suivante est affichéeRemarque :
Il n'y a aucune condition après le cas #🎜🎜 #
#🎜 🎜#
#🎜🎜 #Si le même then est suivi d'une valeur affichée, il n'est pas nécessaire d'ajouter un point-virgule ; si une instruction est ajoutée après, un point-virgule est requis.Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!