Bagaimana cara menggunakan ifnull () dalam mysql?
ifnull () dalam mysql mengembalikan ungkapan pertama jika tidak batal, jika tidak, pulangan ungkapan kedua, menjadikannya sesuai untuk menggantikan nilai null dengan lalai; Sebagai contoh, ifnull (middle_name, 'n/a') memaparkan 'n/a' apabila middle_name adalah null, ifnull (diskaun, 0) memastikan pengiraan seperti harga - diskaun tetap sah, dan menggunakan ifnull dalam concat menghalang keseluruhan rentet
Fungsi IFNULL()
dalam MySQL adalah alat yang mudah tetapi berkuasa untuk mengendalikan nilai NULL
dalam pertanyaan anda. Ia membolehkan anda menggantikan nilai lalai apabila NULL
ditemui.
Apa yang dilakukan oleh Ifnull ()
IFNULL(expr1, expr2)
mengambil dua hujah:
- Jika
expr1
tidak batal , ia mengembalikanexpr1
. - Jika
expr1
adalah batal , ia mengembalikanexpr2
.
Ini amat berguna apabila anda berhadapan dengan data yang tidak lengkap dan ingin mengelakkan NULL
yang muncul dalam hasil seperti dalam laporan, pengiraan, atau output aplikasi.
Sintaks asas
Ifnull (expression_to_check, pengganti_value)
Kes penggunaan biasa
1. Gantikan null dengan rentetan lalai
Apabila menanyakan data pengguna, sesetengah bidang seperti middle_name
mungkin menjadi NULL
. Anda boleh menggantinya dengan pemegang tempat:
Pilih First_name, Ifnull (middle_name, 'n/a') sebagai middle_name, last_name Dari pengguna;
Ini menunjukkan 'n/a' bukannya NULL
untuk nama tengah yang hilang.
2. Mengendalikan batal dalam medan angka
Nilai NULL
boleh memecahkan operasi matematik. Gunakan IFNULL()
untuk merawat nombor yang hilang sebagai sifar:
Pilih Product_name, harga, Ifnull (diskaun, 0) sebagai diskaun, Harga - ifnull (diskaun, 0) sebagai final_price Dari produk;
Tanpa IFNULL()
, price - discount
akan kembali NULL
jika diskaun adalah NULL
, walaupun harga sah.
3. Bersihkan hasil yang disatukan
Apabila menggabungkan rentetan, NULL
boleh membuat keseluruhan keputusan NULL
:
Pilih Concat (first_name, '', ifnull (middle_name, ''), '', last_name) sebagai full_name Dari pengguna;
Ini mengelakkan mendapatkan NULL
sebagai nama penuh hanya kerana nama tengah hilang.
Nota dan petua
-
IFNULL()
adalah spesifik MySQL . Pangkalan data lain menggunakan fungsi yang berbeza (sepertiCOALESCE()
atauISNULL()
). - Ia hanya memeriksa ungkapan pertama. Untuk pelbagai kejatuhan, gunakan
COALESCE()
sebaliknya. - Jenis pulangan bergantung kepada konteks dan jenis argumen -MYSQL cuba untuk menentukan yang terbaik.
Sebagai contoh, menggunakan COALESCE()
untuk lebih daripada dua pilihan:
Coalesce (Phone_Home, Phone_Work, Phone_Mobile, 'No Phone')
Ini mengembalikan nilai non-null pertama di antara lajur yang disenaraikan.
Ringkasan
Gunakan IFNULL()
apabila anda mahu cara yang cepat dan mudah dibaca untuk menggantikan nilai sandaran untuk NULL
dalam MySQL. Ia sesuai untuk membersihkan output, mencegah kesilapan pengiraan, dan meningkatkan persembahan data.
Pada asasnya: jika perkara pertama wujud, gunakannya; Jika tidak, gunakan yang kedua. Mudah dan berkesan.
Atas ialah kandungan terperinci Bagaimana cara menggunakan ifnull () dalam mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

Alat AI Hot

Undress AI Tool
Gambar buka pakaian secara percuma

Undresser.AI Undress
Apl berkuasa AI untuk mencipta foto bogel yang realistik

AI Clothes Remover
Alat AI dalam talian untuk mengeluarkan pakaian daripada foto.

Stock Market GPT
Penyelidikan pelaburan dikuasakan AI untuk keputusan yang lebih bijak

Artikel Panas

Alat panas

Notepad++7.3.1
Editor kod yang mudah digunakan dan percuma

SublimeText3 versi Cina
Versi Cina, sangat mudah digunakan

Hantar Studio 13.0.1
Persekitaran pembangunan bersepadu PHP yang berkuasa

Dreamweaver CS6
Alat pembangunan web visual

SublimeText3 versi Mac
Perisian penyuntingan kod peringkat Tuhan (SublimeText3)

Topik panas



Antara adalah pengendali dalam MySQL yang digunakan untuk menapis data dalam julat yang ditentukan dan mengandungi nilai sempadan; 1. Apabila digunakan dalam nombor, seperti SalaryBetween30000and50000, bersamaan dengan> = dan

Substring_index () extractSasubstringFromastringbasedonadelimiterandocurrenceCount, kembali

Ganti digunakan dalam MySQL untuk memasukkan baris baru. Sekiranya konflik utama atau utama utama berlaku, baris lama akan dipadamkan terlebih dahulu dan kemudian dimasukkan baris baru; 2. Senario menggunakan termasuk memastikan rekod wujud dan boleh dipadam dan dimasukkan semula; 3. Sintaks menyokong nilai, tetapkan dan pilih borang; 4. Contohnya menunjukkan bahawa operasi penggantian dicetuskan melalui kunci utama atau kunci unik; 5. Nota: ID kenaikan automatik boleh berubah, pencetus akan dipadam dan kemudian dimasukkan, prestasi adalah rendah, dan data akan hilang jika lajur tidak ditentukan; 6. Alternatif yang lebih selamat adalah menggunakan Insert ... onDupliceKeyUpdate untuk kemas kini dan bukan penggantian baris penuh.

TheusestatementinmysqlselectsadefaultdatabaseForTheCurrentSession, AllowingsubeSeSeperationStobeperformedwithinthatdatabaseContextWithoutNeedingTofullyqualifytabenames;

Gunakan pernyataan DeclareHandler untuk mengendalikan kesilapan secara berkesan dalam prosedur yang disimpan MySQL, dan untuk menangani pengecualian seperti SQLException dengan menentukan pemproses jenis terus atau keluar. Digabungkan dengan GetDiagnostics untuk mendapatkan butiran ralat, dan menggunakan urus niaga dan parameter keluar untuk memastikan integriti operasi dan ketepatan maklum balas, dengan itu meningkatkan keteguhan aplikasi pangkalan data.

Theinnodb_file_per_tableoptionshouldbeenablowtoalloweachinnodbtableToHaveitsown.ibdfile, improvingspacereclamation, pengurusan, danStorageoptimization, withbenefitsoutweighingminorfilesystemovead, anditisenablydefaultin.6.

Jadual yang bergabung dalam MySQL dilaksanakan melalui pernyataan pilih yang digabungkan dengan klausa Join. Jenis utama termasuk: 1.InnerJoin: Hanya baris yang sepadan dalam kedua -dua jadual dikembalikan; 2.LeftJoin: Kembalikan semua baris di meja kiri dan baris perlawanan meja kanan, jika tidak ada perlawanan, medan meja kanan adalah batal; 3.RightJoin: Kembalikan semua baris di meja kanan dan baris perlawanan meja kiri, jika tidak ada perlawanan, medan meja kiri adalah batal; 4.FullouterJoin: MySQL tidak menyokongnya secara langsung, tetapi boleh disimulasikan oleh leftjoin dan rightjoin digabungkan dengan kesatuan; Gunakan pada untuk menentukan syarat sambungan, dan disyorkan untuk menggunakan alias jadual untuk memudahkan pertanyaan. Sambungan pelbagai meja perlu dihubungkan dengan langkah demi langkah, dan ia harus memastikan bahawa lajur sambungan telah diindeks untuk meningkatkan prestasi.

Auto_incrementinmysqlautomaticallygeneratesauniqueintegerforacolumn, yang biasanya digunakan untuk mendapatkan, yang tidak dapat dipertahankan
