MySQL 教程
我們已經(jīng)知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句來讀取數(shù)據(jù)表中的數(shù)據(jù),但是當提供的查詢條件字段為 NULL 時,該命令可能就無法正常工作。
為了處理這種情況,MySQL提供了三大運算符:
關(guān)于 NULL 的條件比較運算是比較特殊的。你不能使用 = NULL 或 != NULL 在列中查找 NULL 值 。
在 MySQL 中,NULL 值與任何其它值的比較(即使是 NULL)永遠返回 NULL,即 NULL = NULL 返回 NULL 。
MySQL 中處理 NULL 使用 IS NULL 和 IS NOT NULL 運算符。
注意:
select * , columnName1+ifnull(columnName2,0) from tableName;columnName1,columnName2 為 int 型,當 columnName2 中,有值為 null 時,columnName1+columnName2=null, ifnull(columnName2,0) 把 columnName2 中 null 值轉(zhuǎn)為 0。
以下實例中假設(shè)數(shù)據(jù)庫 JSON 中的表 json_test_tbl 含有兩列 json_author 和 json_count, json_count 中設(shè)置插入NULL值。
嘗試以下實例:
以下實例中你可以看到 = 和 != 運算符是不起作用的:
查找數(shù)據(jù)表中 json_test_tbl 列是否為 NULL,必須使用 IS NULL 和 IS NOT NULL,如下實例:
PHP 腳本中你可以在 if...else 語句來處理變量是否為空,并生成相應(yīng)的條件語句。
以下實例中 PHP 設(shè)置了 $json_count 變量,然后使用該變量與數(shù)據(jù)表中的 json_count 字段進行比較: