Maison >base de données >tutoriel mysql >cas où l'utilisation

cas où l'utilisation

王林
王林original
2019-09-23 13:14:1415953parcourir

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!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn