MySQL multi-ungkapan if pernyataan
P粉748218846
P粉748218846 2023-09-19 16:06:52
0
1
673

Saya mahu melaksanakan berbilang ungkapan dalam select语句中的if pernyataan seperti ini:

SELECT 
  t.id,
  IF (
    id > 10,
    @var1 := t.id; @var2 := t.title,
    t.title
  )
FROM
  table

Adakah ada cara untuk melakukannya dalam satu if语句中执行这两个表达式@var1 := t.id; @var2 := t.title?

P粉748218846
P粉748218846

membalas semua(1)
P粉674876385

Anda boleh melakukan ini

SELECT
  t.id,
  IF (
    id > 10,
    CONCAT(@var1 := t.id , @var2 := t.title),

    t.title
  )
FROM
  table1 t;
SELECT @var2;
SELECT @var1;

Tetapi pembolehubah yang ditakrifkan pengguna ialah nilai skalar, jadi anda hanya boleh mendapatkan nilai terakhir di mana @var1 dan @var2 dipilih, tetapi ia tidak akan menunjukkan nilai yang digabungkan sekarang.

Jadi secara keseluruhan, ini tidak benar-benar masuk akal jika anda mempunyai berbilang baris data.

Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan