我想在select语句中的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?
@var1 := t.id; @var2 := t.title
你可以这样做
SELECT t.id, IF ( id > 10, CONCAT(@var1 := t.id , @var2 := t.title), t.title ) FROM table1 t; SELECT @var2; SELECT @var1;
但是用户定义的变量是标量值,所以你只能得到@var1和@var2被选中的最后一个值,但是它现在不会显示连接后的值。
所以总的来说,如果你有多行数据,这并没有真正的意义。
你可以这样做
但是用户定义的变量是标量值,所以你只能得到@var1和@var2被选中的最后一个值,但是它现在不会显示连接后的值。
所以总的来说,如果你有多行数据,这并没有真正的意义。