Rumah > pangkalan data > tutorial mysql > Bagaimanakah Saya Boleh Menggunakan Fungsi IF() MySQL untuk Melaraskan Nilai Lajur Secara Bersyarat dalam Pernyataan SELECT?

Bagaimanakah Saya Boleh Menggunakan Fungsi IF() MySQL untuk Melaraskan Nilai Lajur Secara Bersyarat dalam Pernyataan SELECT?

Barbara Streisand
Lepaskan: 2025-01-20 21:51:11
asal
187 orang telah melayarinya

How Can I Use MySQL's IF() Function to Conditionally Adjust Column Values in a SELECT Statement?

Pelarasan Nilai Lajur Bersyarat dengan Fungsi IF() MySQL dalam Penyata SELECT

Penyataan

MySQL SELECT mendapatkan semula data. Kadangkala, anda perlu mengubah suai output lajur secara bersyarat berdasarkan lajur lain dalam baris yang sama. Fungsi IF() memudahkan perkara ini.

Senario:

Katakan kita mempunyai jadual report dan perlu memanipulasi tanda lajur amount berdasarkan lajur type. Jika type ialah 'P', amount hendaklah positif; jika 'N', ia sepatutnya negatif.

Pertanyaan Awal:

<code class="language-sql">SELECT id, amount FROM report;</code>
Salin selepas log masuk

Pengubahsuaian Bersyarat:

Berikut ialah cara menggunakan IF() untuk mencapai pelarasan bersyarat yang diingini:

<code class="language-sql">SELECT id, 
       IF(type = 'P', amount, amount * -1) AS amount
FROM report;</code>
Salin selepas log masuk

Penjelasan:

Fungsi IF() mengambil tiga parameter:

  • condition: Syarat untuk menilai (type = 'P').
  • true_value: Nilai dikembalikan jika keadaan adalah benar (amount).
  • false_value: Nilai dikembalikan jika syarat adalah palsu (amount * -1).

AS amount memperuntukkan hasil fungsi IF() alias amount untuk output.

Mengendalikan Nilai NULL:

Jika amount mungkin NULL, gunakan IFNULL() untuk pengendalian yang mantap:

<code class="language-sql">SELECT id, 
       IF(type = 'P', IFNULL(amount, 0), IFNULL(amount, 0) * -1) AS amount
FROM report;</code>
Salin selepas log masuk

IFNULL() mengambil dua hujah:

  • value: Nilai untuk diperiksa NULL (amount).
  • default_value: Nilai untuk dikembalikan jika value ialah NULL (0).

Bacaan Selanjutnya:

Untuk lebih lanjut tentang fungsi kawalan aliran MySQL, rujuk dokumentasi rasmi: https://www.php.cn/link/0cfe3c931a81acba365b335768dd0d93

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menggunakan Fungsi IF() MySQL untuk Melaraskan Nilai Lajur Secara Bersyarat dalam Pernyataan SELECT?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Artikel terbaru oleh pengarang
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan