溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶(hù)服務(wù)條款》

mysql中is null指的是什么

發(fā)布時(shí)間:2023-05-10 09:59:40 來(lái)源:億速云 閱讀:110 作者:iii 欄目:MySQL數(shù)據(jù)庫(kù)

這篇文章主要介紹“mysql中is null指的是什么”的相關(guān)知識(shí),小編通過(guò)實(shí)際案例向大家展示操作過(guò)程,操作方法簡(jiǎn)單快捷,實(shí)用性強(qiáng),希望這篇“mysql中is null指的是什么”文章能幫助大家解決問(wèn)題。

在mysql中,“is null”是指空值查詢(xún),用來(lái)判斷字段的值是否為空值(NULL)。如果字段的值是空值,則滿(mǎn)足查詢(xún)條件,該記錄將被查詢(xún)出來(lái);如果字段的值不是空值,則不滿(mǎn)足查詢(xún)條件?!癷s null”是一個(gè)比較運(yùn)算符,故而可以在任何可以使用運(yùn)算符的地方使用它,例如select或where語(yǔ)句中。

MySQL IS NULL:空值查詢(xún)

MySQL 提供了 IS NULL 關(guān)鍵字,用來(lái)判斷字段的值是否為空值(NULL)。空值不同于 0,也不同于空字符串。

如果字段的值是空值,則滿(mǎn)足查詢(xún)條件,該記錄將被查詢(xún)出來(lái)。如果字段的值不是空值,則不滿(mǎn)足查詢(xún)條件。

使用 IS NULL 的基本語(yǔ)法格式如下:

IS [NOT] NULL

其中,“NOT”是可選參數(shù),表示字段值不是空值時(shí)滿(mǎn)足條件。

如果值為null,則表達(dá)式返回TRUE,否則返回FALSE。

注意,MySQL沒(méi)有內(nèi)置BOOLEAN類(lèi)型(布爾值),其使用TINYINT(1)來(lái)表示BOOLEAN值,即1表示TRUE,0表示FALSE。

is null是一個(gè)比較運(yùn)算符,故而可以在任何可以使用運(yùn)算符的地方使用它,例如select或where語(yǔ)句中。

SELECT
	1 IS NULL,
	0 IS NULL,
NULL IS NULL;

mysql中is null指的是什么

要檢查某字段不是NULL,則可使用is not null。

SELECT
	1 IS NOT NULL,
	0 IS NOT NULL,
NULL IS NOT NULL;

mysql中is null指的是什么

例子

從customers表使用IS NULL運(yùn)算符查找沒(méi)有銷(xiāo)售代表的客戶(hù):

SELECT
	customerName,
	country,
	salesRepEmployeeNumber 
FROM
	customers 
WHERE
	salesRepEmployeeNumber IS NULL 
ORDER BY
	customerName 
	LIMIT 5;

mysql中is null指的是什么

MySQL IS NULL的特殊功能

為了與ODBC程序兼容,MySQL支持IS NULL運(yùn)算符的一些特殊功能。

1)如果具有約束條件如NOT NULL并且包含特殊日期'0000-00-00'的、格式是date或datetime的字段,可以is null運(yùn)算符來(lái)查找。

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;

mysql中is null指的是什么

創(chuàng)建了一個(gè)名為projects的表,其complete_date 字段not null且含有特殊日期'0000-00-00'。

使用 complete_date IS NULL可以獲取日期為'0000-00-00'的行。

2)繼續(xù)使用projects表。

如果變量@@sql_auto_is_null設(shè)置為1,則可以在insert使用is null運(yùn)算符執(zhí)行語(yǔ)句后獲取id生成列的值。

注意,在默認(rèn)情況下,@@sql_auto_is_null設(shè)置為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指的是什么

關(guān)于“mysql中is null指的是什么”的內(nèi)容就介紹到這里了,感謝大家的閱讀。如果想了解更多行業(yè)相關(guān)的知識(shí),可以關(guān)注億速云行業(yè)資訊頻道,小編每天都會(huì)為大家更新不同的知識(shí)點(diǎn)。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI