您好,登錄后才能下訂單哦!
這篇文章主要介紹“mysql中is null指的是什么”的相關知識,小編通過實際案例向大家展示操作過程,操作方法簡單快捷,實用性強,希望這篇“mysql中is null指的是什么”文章能幫助大家解決問題。
在mysql中,“is null”是指空值查詢,用來判斷字段的值是否為空值(NULL)。如果字段的值是空值,則滿足查詢條件,該記錄將被查詢出來;如果字段的值不是空值,則不滿足查詢條件。“is null”是一個比較運算符,故而可以在任何可以使用運算符的地方使用它,例如select或where語句中。
MySQL IS NULL:空值查詢
MySQL 提供了 IS NULL 關鍵字,用來判斷字段的值是否為空值(NULL)。空值不同于 0,也不同于空字符串。
如果字段的值是空值,則滿足查詢條件,該記錄將被查詢出來。如果字段的值不是空值,則不滿足查詢條件。
使用 IS NULL 的基本語法格式如下:
IS [NOT] NULL
其中,“NOT”是可選參數,表示字段值不是空值時滿足條件。
如果值為null,則表達式返回TRUE,否則返回FALSE。
注意,MySQL沒有內置BOOLEAN類型(布爾值),其使用TINYINT(1)來表示BOOLEAN值,即1表示TRUE,0表示FALSE。
is null是一個比較運算符,故而可以在任何可以使用運算符的地方使用它,例如select或where語句中。
SELECT
1 IS NULL,
0 IS NULL,
NULL IS NULL;
要檢查某字段不是NULL,則可使用is not null。
SELECT
1 IS NOT NULL,
0 IS NOT NULL,
NULL IS NOT NULL;
例子
從customers表使用IS NULL運算符查找沒有銷售代表的客戶:
SELECT
customerName,
country,
salesRepEmployeeNumber
FROM
customers
WHERE
salesRepEmployeeNumber IS NULL
ORDER BY
customerName
LIMIT 5;
MySQL IS NULL的特殊功能
為了與ODBC程序兼容,MySQL支持IS NULL運算符的一些特殊功能。
1)如果具有約束條件如NOT NULL并且包含特殊日期'0000-00-00'的、格式是date或datetime的字段,可以is null運算符來查找。
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;
創建了一個名為projects的表,其complete_date 字段not null且含有特殊日期'0000-00-00'。
使用 complete_date IS NULL可以獲取日期為'0000-00-00'的行。
2)繼續使用projects表。
如果變量@@sql_auto_is_null設置為1,則可以在insert使用is null運算符執行語句后獲取id生成列的值。
注意,在默認情況下,@@sql_auto_is_null設置為0。
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;
關于“mysql中is null指的是什么”的內容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業相關的知識,可以關注億速云行業資訊頻道,小編每天都會為大家更新不同的知識點。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。