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