首頁  >  問答  >  主體

MySQL多表達式的if語句

我想在select語句中的if語句中執行多個表達式,如下所示:

SELECT 
  t.id,
  IF (
    id > 10,
    @var1 := t.id; @var2 := t.title,
    t.title
  )
FROM
  table

有沒有辦法在一個if語句中執行這兩個表達式@var1 := t.id; @var2 := t.title

P粉748218846P粉748218846417 天前655

全部回覆(1)我來回復

  • P粉674876385

    P粉6748763852023-09-20 09:12:51

    你可以這樣做

    SELECT
      t.id,
      IF (
        id > 10,
        CONCAT(@var1 := t.id , @var2 := t.title),
    
        t.title
      )
    FROM
      table1 t;
    SELECT @var2;
    SELECT @var1;

    但是使用者定義的變數是標量值,所以你只能得到@var1和@var2被選中的最後一個值,但是它現在不會顯示連接後的值。

    所以總的來說,如果你有多行數據,這並沒有真正的意義。

    回覆
    0
  • 取消回覆