關於 mysql中非null判斷

2021-07-09 10:17:41 字數 2496 閱讀 2459

mysql提供了三大運算子:

is null: 當列的值是null,此運算子返回true。 

is not null: 當列的值不為null, 運算子返回true。 

<=>: 比較操作符(不同於=運算子),當比較的的兩個值為null時返回true。

關於 null 的條件比較運算是比較特殊的。你不能使用 = null 或 != null 在列中查詢 null 值 。 

在mysql中,null值與任何其它值的比較(即使是null)永遠返回false,即 null = null 返回false 。 

mysql中處理null使用is null和is not null運算子。 

在命令提示符中使用 null 值 

以下例項中假設資料庫 tutorials 中的表 tcount_tbl 含有兩列 tutorial_author 和 tutorial_count, tutorial_count 中設定插入null值。

例項嘗試以下例項:

root@host# mysql -u root -p password; 

enter password:*

mysql> use tutorials; 

database changed 

mysql> create table tcount_tbl 

-> ( 

-> tutorial_author varchar(40) not null, 

-> tutorial_count int 

-> ); 

query ok, 0 rows affected (0.05 sec) 

mysql> insert into tcount_tbl 

-> (tutorial_author, tutorial_count) values (『mahran』, 20); 

mysql> insert into tcount_tbl 

-> (tutorial_author, tutorial_count) values (『mahnaz』, null); 

mysql> insert into tcount_tbl 

-> (tutorial_author, tutorial_count) values (『jen』, null); 

mysql> insert into tcount_tbl 

-> (tutorial_author, tutorial_count) values (『gill』, 20);

mysql> select * from tcount_tbl; 

+—————–+—————-+ 

| tutorial_author | tutorial_count | 

+—————–+—————-+ 

| mahran | 20 | 

| mahnaz | null | 

| jen | null | 

| gill | 20 | 

+—————–+—————-+ 

4 rows in set (0.00 sec)

mysql>

以下例項中你可以看到 = 和 != 運算子是不起作用的:

mysql> select * from tcount_tbl where tutorial_count = null; 

empty set (0.00 sec) 

mysql> select * from tcount_tbl where tutorial_count != null; 

empty set (0.01 sec)

查詢資料表中 tutorial_count 列是否為 null,必須使用is null和is not null,如下例項:

mysql> select * from tcount_tbl 

-> where tutorial_count is null; 

+—————–+—————-+ 

| tutorial_author | tutorial_count | 

+—————–+—————-+ 

| mahnaz | null | 

| jen | null | 

+—————–+—————-+ 

2 rows in set (0.00 sec) 

mysql> select * from tcount_tbl 

-> where tutorial_count is not null; 

+—————–+—————-+ 

| tutorial_author | tutorial_count | 

+—————–+—————-+ 

| mahran | 20 | 

| gill | 20 | 

+—————–+—————-+ 

2 rows in set (0.00 sec)

mysql 判斷字段是否為null

sql中有isnull方法,介紹如下 isnull 使用指定的替換值替換 null。語法isnull check expression replacement value 引數check expression 將被檢查是否為 null的表示式。check expression 可以是任何型別的。re...

mysql關於null值的使用

null值的處理是mysql經常被混淆的概念之一,也是查詢中經常會犯迷糊的地方,做下簡單整理以便日後查詢 自己理解的 1 null值只能用is null is not null和ifnull 判斷,不能進行任何比較運算,其他 in,not in.與null的比較都無任何資料返回 2 查詢結果集中只有...

mysql 判斷null 和 空字串

1.在mysql中null 不能使用任何運算子與其他字段或者變數 函式 儲存過程 進行運算。若使用運算資料就可能會有問題。2.對null 的判斷 建立乙個user表 id 主健 name 可以為空 select from user insert into user values 33 null 建立...