搜索

首页  >  问答  >  正文

MySQL多表达式的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

P粉748218846P粉748218846463 天前702

全部回复(1)我来回复

  • P粉674876385

    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被选中的最后一个值,但是它现在不会显示连接后的值。

    所以总的来说,如果你有多行数据,这并没有真正的意义。

    回复
    0
  • 取消回复