Pernyataan "is null" digunakan untuk melaksanakan pertanyaan nilai nol dalam MySQL dan boleh menentukan sama ada nilai medan itu kosong (NULL). Apabila membuat pertanyaan, jika medan kosong, syarat pertanyaan akan dipadankan dan rekod akan diambil jika medan tidak kosong, syarat pertanyaan tidak akan dipenuhi. "adalah null" ialah pengendali perbandingan, jadi ia boleh digunakan di mana-mana sahaja pengendali boleh digunakan, seperti dalam penyataan pilih atau di mana.
MySQL IS NULL: Pertanyaan nilai nol
Gunakan kata kunci IS NULL untuk menentukan sama ada nilai medan pangkalan data MySQL adalah NULL. Nilai nol adalah berbeza daripada 0, yang juga berbeza daripada rentetan kosong.
Jika nilai medan adalah batal, syarat pertanyaan dipenuhi dan rekod akan disoal. Jika nilai medan bukan nol, syarat pertanyaan tidak dipenuhi.
Format sintaks asas untuk menggunakan IS NULL adalah seperti berikut:
IS [NOT] NULL
Antaranya, "TIDAK" ialah parameter pilihan, menunjukkan bahawa syarat dipenuhi apabila nilai medan bukan nol.
Ungkapan mengembalikan TRUE jika nilainya batal, jika tidak ia mengembalikan FALSE.
Perhatikan bahawa MySQL tidak mempunyai jenis BOOLEAN terbina dalam (nilai Boolean Ia menggunakan TINYINT(1) untuk mewakili nilai BOOLEAN, iaitu, 1 mewakili TRUE dan 0 mewakili FALSE.
is null ialah pengendali perbandingan, jadi ia boleh digunakan di mana-mana sahaja pengendali boleh digunakan, seperti dalam penyataan pilih atau di mana.
SELECT 1 IS NULL, 0 IS NULL, NULL IS NULL;
Untuk menyemak sama ada medan bukan NULL, anda boleh gunakan bukan nol.
SELECT 1 IS NOT NULL, 0 IS NOT NULL, NULL IS NOT NULL;
Contoh
Cari pelanggan tanpa wakil jualan menggunakan operator IS NULL dari jadual pelanggan:
rreeeFungsi khas MySQL IS NULL
Untuk serasi dengan program ODBC, MySQL menyokong beberapa fungsi khas pengendali IS NULL.
1) Jika terdapat medan dengan kekangan seperti NOT NULL dan mengandungi tarikh khas '0000-00-00', dalam format tarikh atau datetime, anda boleh menggunakan operator is null untuk mencarinya .
SELECT customerName, country, salesRepEmployeeNumber FROM customers WHERE salesRepEmployeeNumber IS NULL ORDER BY customerName LIMIT 5;
Mencipta jadual bernama projek, yang medan complete_datenya tidak batal dan mengandungi tarikh khas '0000-00-00'.
Gunakan complete_date IS NULL untuk mendapatkan baris dengan tarikh '0000-00-00'.
2) Teruskan menggunakan jadual projek.
Jika pembolehubah @@sql_auto_is_null ditetapkan kepada 1, anda boleh mendapatkan nilai lajur id yang dijana selepas penyataan sisipan dilaksanakan menggunakan operator is null.
Perhatikan bahawa secara lalai, @@sql_auto_is_null ditetapkan kepada 0.
CREATE TABLE IF NOT EXISTS projects ( id INT AUTO_INCREMENT, title VARCHAR(255), begin_date DATE NOT NULL, complete_date DATE NOT NULL, PRIMARY KEY(id) ); INSERT INTO projects(title,begin_date, complete_date) VALUES('New CRM','2020-01-01','0000-00-00'), ('ERP Future','2020-01-01','0000-00-00'), ('VR','2020-01-01','2030-01-01'); SELECT * FROM projects WHERE complete_date IS NULL;
Atas ialah kandungan terperinci Apakah maksud null dalam mysql?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!