Dalam mysql, "is null" merujuk kepada pertanyaan nilai nol, yang digunakan untuk menentukan sama ada nilai medan adalah null (NULL). Jika nilai medan adalah batal, syarat pertanyaan dipenuhi dan rekod akan disoal jika nilai medan tidak batal, syarat pertanyaan tidak dipenuhi. "adalah null" ialah pengendali perbandingan, jadi ia boleh digunakan di mana-mana sahaja pengendali boleh digunakan, seperti dalam penyataan pilih atau di mana.
Persekitaran pengendalian tutorial ini: sistem windows7, versi mysql8, komputer Dell G3.
MySQL IS NULL: Pertanyaan nilai null
MySQL menyediakan kata kunci IS NULL untuk menentukan sama ada nilai medan adalah null ( 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 tidak null.
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 daripada jadual pelanggan:
SELECT customerName, country, salesRepEmployeeNumber FROM customers WHERE salesRepEmployeeNumber IS NULL ORDER BY customerName LIMIT 5;
Ciri-ciri khas MySQL IS NULL
Untuk keserasian dengan program ODBC, MySQL menyokong IS NULL pengendali beberapa fungsi khas.
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 .
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;
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 @@sql_auto_is_null ditetapkan kepada 0 secara lalai.
set @@sql_auto_is_null =1; insert into projects (title,begin_date,complete_date) values('MRP III','2010-01-01','2020-12-31'); select id from projects where id is null;
[Cadangan berkaitan: tutorial video mysql]
Atas ialah kandungan terperinci Apakah maksud mysql's is null?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!