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
Barbara Streisandasal
2025-01-20 21:51:11191semak imbas

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>

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>

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>

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!

Kenyataan:
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