Maison  >  Questions et réponses  >  le corps du texte

MySQL multi-expression if instruction

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粉748218846P粉748218846396 Il y a quelques jours630

répondre à tous(1)je répondrai

  • P粉674876385

    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.

    répondre
    0
  • Annulerrépondre