Maison > Questions et réponses > le corps du texte
Je souhaite exécuter plusieurs expressions dans une instruction select
语句中的if
comme celle-ci :
SELECT t.id, IF ( id > 10, @var1 := t.id; @var2 := t.title, t.title ) FROM table
Y a-t-il un moyen de le faire en un seul if
语句中执行这两个表达式@var1 := t.id; @var2 := t.title
?
P粉6748763852023-09-20 09:12:51
Vous pouvez le faire
SELECT t.id, IF ( id > 10, CONCAT(@var1 := t.id , @var2 := t.title), t.title ) FROM table1 t; SELECT @var2; SELECT @var1;
Mais les variables définies par l'utilisateur sont des valeurs scalaires, vous ne pouvez donc obtenir que la dernière valeur où @var1 et @var2 ont été sélectionnés, mais elle n'affichera pas la valeur concaténée maintenant.
Donc, dans l’ensemble, cela n’a pas vraiment de sens si vous avez plusieurs lignes de données.