我想在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被选中的最后一个值,但是它现在不会显示连接后的值。
所以总的来说,如果你有多行数据,这并没有真正的意义。