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

cas où l'utilisation

王林
Libérer: 2019-10-09 17:15:25
original
15994 Les gens l'ont consulté

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);
Copier après la connexion

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;
Copier après la connexion

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结束。
Copier après la connexion

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!

Étiquettes associées:
source:php.cn
Déclaration de ce site Web
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
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal