我想在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粉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被選中的最後一個值,但是它現在不會顯示連接後的值。
所以總的來說,如果你有多行數據,這並沒有真正的意義。