84669 人学习
152542 人学习
20005 人学习
5487 人学习
7821 人学习
359900 人学习
3350 人学习
180660 人学习
48569 人学习
18603 人学习
40936 人学习
1549 人学习
1183 人学习
32909 人学习
我想在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被选中的最后一个值,但是它现在不会显示连接后的值。
所以总的来说,如果你有多行数据,这并没有真正的意义。