Penggunaan fungsi IF dalam MySQL untuk pertimbangan bersyarat adalah biasa dalam operasi pertanyaan. Fungsi IF boleh mengembalikan hasil yang berbeza berdasarkan syarat tertentu. Penggunaan biasa ialah menggunakan fungsi IF dalam pernyataan SELECT, tetapi ia juga boleh digunakan dalam pernyataan INSERT, UPDATE dan DELETE.
Fungsi IF menerima tiga parameter Parameter pertama ialah syarat yang akan dinilai. Sintaks fungsi IF adalah seperti berikut:
IF(condition, true_value, false_value)
Antaranya, syarat ialah syarat yang perlu dinilai Jika keadaan benar, nilai_benar dikembalikan, jika tidak nilai_salah dikembalikan.
Terdapat banyak cara untuk melakukan penghakiman bersyarat dalam MySQL, yang biasa ialah pernyataan IF dan CASE WHEN. IF sering digunakan untuk menentukan sama ada nilai adalah sama dengan nilai lain Contohnya:
SELECT IF(column_name = 'value', 'true_value', 'false_value') FROM table_name;
Pernyataan ini akan mendapatkan semula baris dengan nama_kolum sebagai 'nilai' dalam jadual nama_jadual, ia akan mengembalikan 'nilai_benar ', jika tidak ia akan mengembalikan 'false_value'.
Tetapi bagaimana jika kita ingin membuat perbandingan yang tidak sama? Dalam MySQL, perbandingan tidak sama menggunakan operator != atau <> Contohnya:
SELECT IF(column_name != 'value', 'true_value', 'false_value') FROM table_name;
Pernyataan ini akan mencari jadual nama_jadual untuk baris yang nama_lajurnya bukan 'nilai' Jika ditemui, ia akan mengembalikan 'nilai_benar', jika tidak, ia akan mengembalikan 'nilai_palsu'.
Selain menggunakan fungsi IF, kita juga boleh menggunakan pernyataan CASE WHEN untuk penghakiman bersyarat. Pernyataan CASE WHEN ialah pernyataan standard SQL dan juga digunakan secara meluas dalam MySQL. Sintaksnya adalah seperti berikut:
CASE WHEN condition1 THEN result1 WHEN condition2 THEN result2 ELSE result3 END
Antaranya, syarat1 dan syarat2 ialah dua syarat yang akan dinilai Jika keadaan itu benar, hasil1 dan hasil2 yang sepadan akan dikembalikan. Jika tiada syarat yang benar, result3 dikembalikan.
Sebagai contoh, jika kita ingin mendapatkan semula baris dalam jadual table_name di mana column_name bukan 'value', kita boleh menggunakan pernyataan berikut:
SELECT CASE WHEN column_name <> 'value' THEN 'true_value' ELSE 'false_value' END AS result FROM table_name;
Pernyataan ini juga akan mendapatkan semula baris dalam table_name jadual di mana column_name bukan 'value' ' baris, jika dijumpai, mengembalikan 'true_value', sebaliknya mengembalikan 'false_value'.
Ringkasnya, anda boleh menggunakan operator != atau <> untuk perbandingan yang tidak sama rata dalam MySQL, dan anda juga boleh menggunakan fungsi IF dan pernyataan CASE WHEN untuk penghakiman bersyarat. Dalam aplikasi praktikal, kita boleh memilih kaedah yang berbeza mengikut keperluan yang berbeza untuk mendapatkan hasil yang paling sesuai.
Atas ialah kandungan terperinci mysql jika tidak sama dengan. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!