Maison >base de données >tutoriel mysql >cas où l'utilisation
Le cas où le mot-clé de la base de données est en fait un format similaire à if, else if, else, qui est un moyen d'obtenir des conditions de jugement.
Le format de syntaxe de SQL écrit dans les procédures stockées est fondamentalement le même que celui de SQL écrit dans la vie quotidienne, et l'utilisation et l'appel de case when sont également les mêmes.
Premier exemple :
select qzh from ywda_swjg_qzh_dz where swjg = ( select case when substr('11101823000'),0,7) = '1110182' then substr('11101960000',0,8) || '000' else substr('1110196000',0,7) || '0000' end swjgdm from ywda_swjg_qzh_dz where a.swjg_dm = b.swjg_dm);
case when peut non seulement être utilisé dans les résultats de la requête, mais peut également être utilisé comme condition de jugement après la condition Where .
Ce SQL inclut les deux situations. Bien sûr, nous pouvons également utiliser le format directement sans ajouter de sélection à la condition Where, comme :
select qzh from ywda_swjg_qzh_dz where swjg = case when substr('11101823000'),0,7) = '1110182' then substr('11101960000',0,8) || '000' else substr('1110196000',0,7) || '0000' end;
Le cas où la méthode est définitivement plus. efficace.
Remarque : le cas où doit être utilisé avec then et end.
Bien sûr, ma procédure stockée n'est pas écrite comme ça Aujourd'hui, le patron a dit qu'il n'était pas nécessaire d'être trop responsable, il suffit de l'écrire au format if et else.
Les formats if et else de la procédure stockée sont un peu différents des formats if et else utilisés dans le front et le backend. L'entreprise n'a pas de réseau externe et est purement faite à la main. publiez le code Java et publiez directement une partie de la procédure stockée.
if substr(AVC_QXSWJG,0,8) = '11100006' or substr(AVC_QXSWJG,0,7) = '1110182' then select qzh into avc_qch from ywda_swjg_qzh_dz where swjg_dm = substr(avc_qxswjg,0,8) || '000'; elsif 条件(不加括号) then ................................sql省略......................................... else .................................sql省略....................................... end if; sql结束。
Notez que les opérateurs logiques utilisent ici des opérateurs logiques SQL, c'est-à-dire et et ou.
Le "||" écrit ci-dessus ajoute une chaîne après le champ, pas un OU logique, veuillez noter.
Après la fin de if, assurez-vous d'ajouter end if pour indiquer la fin du if actuel.
Tutoriel recommandé : Tutoriel vidéo MySQL
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!