MySQL NULL值 處理
MySQL提供了三大運算子來處理NULL值:
·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 運算子。
例項
以下例項中你可以看到 = 和 != 運算子是不起作用的:[email protected]# mysql -u root -p password; Enter password:******* mysql> use RUNOOB; Database changed mysql> create table runoob_test_tbl -> ( -> runoob_author varchar(40) NOT NULL, -> runoob_count INT -> ); Query OK, 0 rows affected (0.05 sec) mysql> INSERT INTO runoob_test_tbl (runoob_author, runoob_count) values ('RUNOOB', 20); mysql> INSERT INTO runoob_test_tbl (runoob_author, runoob_count) values ('菜鳥教程', NULL); mysql> INSERT INTO runoob_test_tbl (runoob_author, runoob_count) values ('Google', NULL); mysql> INSERT INTO runoob_test_tbl (runoob_author, runoob_count) values ('FK', 20); mysql> SELECT * from runoob_test_tbl; +---------------+--------------+ | runoob_author | runoob_count | +---------------+--------------+ | RUNOOB | 20 | | 菜鳥教程 | NULL | | Google | NULL | | FK | 20 | +---------------+--------------+
mysql> SELECT * FROM runoob_test_tbl WHERE runoob_count = NULL;
Empty set (0.00 sec)
mysql> SELECT * FROM runoob_test_tbl WHERE runoob_count != NULL;
Empty set (0.01 sec)
查詢資料表中 runoob_test_tbl 列是否為 NULL,必須使用 IS NULL 和 IS NOT NULL,如下例項:
mysql> SELECT * FROM runoob_test_tbl WHERE runoob_count IS NULL; +---------------+--------------+ | runoob_author | runoob_count | +---------------+--------------+ | 菜鳥教程 | NULL | | Google | NULL | +---------------+--------------+ 2 rows in set (0.01 sec) mysql> SELECT * from runoob_test_tbl WHERE runoob_count IS NOT NULL; +---------------+--------------+ | runoob_author | runoob_count | +---------------+--------------+ | RUNOOB | 20 | | FK | 20 | +---------------+--------------+ 2 rows in set (0.01 sec)
使用PHP指令碼處理NULL值
<?php
$dbhost = 'localhost:3306'; // mysql伺服器主機地址
$dbuser = 'root'; // mysql使用者名稱
$dbpass = '123456'; // mysql使用者名稱密碼
$conn = mysqli_connect($dbhost, $dbuser, $dbpass);
if(! $conn )
{
die('連線失敗: ' . mysqli_error($conn));
}
// 設定編碼,防止中文亂碼
mysqli_query($conn , "set names utf8");
if( isset($runoob_count ))
{
$sql = "SELECT runoob_author, runoob_count
FROM runoob_test_tbl
WHERE runoob_count = $runoob_count";
}
else
{
$sql = "SELECT runoob_author, runoob_count
FROM runoob_test_tbl
WHERE runoob_count IS NULL";
}
mysqli_select_db( $conn, 'RUNOOB' );
$retval = mysqli_query( $conn, $sql );
if(! $retval )
{
die('無法讀取資料: ' . mysqli_error($conn));
}
echo '<table border="1"><tr><td>作者</td><td>登陸次數</td></tr>';
while($row = mysqli_fetch_array($retval, MYSQL_ASSOC))
{
echo "<tr>".
"<td>{$row['runoob_author']} </td> ".
"<td>{$row['runoob_count']} </td> ".
"</tr>";
}
echo '</table>';
mysqli_close($conn);
?>
相關推薦
吳裕雄 20-MySQL NULL 值處理
MySQL NULL 值處理我們已經知道 MySQL 使用 SQL SELECT 命令及 WHERE 子句來讀取資料表中的資料,但是當提供的查詢條件欄位為 NULL 時,該命令可能就無法正常工作。為了處理這種情況,MySQL提供了三大運算子:IS NULL: 當列的值是 NULL,此運算子返回 true。IS
DB-MySQL:MySQL NULL 值處理
ylbtech-DB-MySQL:MySQL NULL 值處理 1.返回頂部 1、 MySQL NULL 值處理 我們已經知道 MySQL 使用 SQL SELECT 命令及 WHERE
MySQL NULL 值處理(轉自https://www.w3cschool.cn/mysql/mysql-null.html)
MySQL NULL 值處理 我們已經知道MySQL使用 SQL SELECT 命令及 WHERE 子句來讀取資料表中的資料,但是當提供的查詢條件欄位為 NULL 時,該命令可能就無法正常工作。 為了處理這種情況,MySQL提供了三大運算子: IS NULL: 當列的值是NULL,此運算子返回true。IS
MySQL NULL值 處理
MySQL提供了三大運算子來處理NULL值: ·IS NULL:當列的值是NULL,此運算子返回true; ·IS NOT NULL:當列的值不為NULL,此運算子返回true;
MySQL UNION、排序、分組、連線、NULL值處理和正則表示式
UNION SQL UNION 下面的SQL語句從product和orderdetail表中選取所有不同的pCode(只有不同值) SELECT pCode FROM product UNION SELECT pCode FROM orderdetail ORDER BY p
MySQL UNION、排序、分組、連線、NULL值處理和正則表示式
UNION SQL UNION 下面的SQL語句從product和orderdetail表中選取所有不同的pCode(只有不同值) SELECT pCode FROM product UNION SEL
Mysql整數運算NULL值處理注意點
CleverCode最近在匯出報表的時候,在整數做減法的時候,發現整數減去null得到是null。這是一個細節問題,希望大家以後注意。 1 表中的資料 total,used都是整形,允許為空。 2 有問題的運算語句 減法問題 select id, total,
MySQ學習筆記之十 NULL值處理
con pop -a 能夠 第一個 ips ng- 索引 one 這是MySQL一大特殊之處。 概念上。NULL意味著“沒有值”或“未知值”,且它被看作有點與眾不同的值。為了測試NULL。你不能使用算術比較
fastjson null 值處理
put 解析 title json.js itl con pen rgs ash 偶然用到fastjson轉換json 在前臺用js解析竟然某些字段沒有,曾經用過gson。聯想到是不是相似gson默認將null值不顯示了,找了下資料果真如此 直接上代碼
【手記】sql報“聚合或其他set操作消除了null值”處理
很多 targe null .com log 蛋疼 logs color isn 這個警告在常規場景中沒什麽影響,但如果是用excel跑SQL,它會因為該警告阻止你的後續操作~事實上excel執行sql限制多多,需要更多的奇技淫巧,之前我就寫過一篇。言歸正傳,要解決這個警告
freeMaker null值處理
以下引用官方描述: 引用 The FreeMarker template language doesn't know the Java language null at all. It doesn't have null keyword, and it can't test if
mysql-5null值處理
值為null遇到的問題: 1.使用select對資料進行處理時,如果有格值為null,該命令會無法正常工作。如示例一 2.使用where限定條件時,null值不能處理。如示例二 -- 新建一張表,並填入資料 create table `csj_class`(`id` INT,`name` varchar(2
mysql 空值處理
如函式 CREATE DEFINER=`root`@`localhost` FUNCTION `aaaaa`( product_code_ varchar(20) ) RETURNS int(11) BEGIN DE
SQL中AVG()、COUNT()、SUM()等函式對NULL值處理
原文連結:https://blog.csdn.net/whaxrl/article/details/51195241 一、AVG() 求平均值 注意AVE()忽略NULL值,而不是將其作為“0”參與計算 二、COUNT() 兩種用法 1、COUNT
MySQL NULL值特性
NULL是一種“沒有型別”的值,通常表示“無值”,“未知值”,“缺失值”,“超界”,“不在其中”等,我們在日常運用中很容易和NULL字串混淆,這裡大致整理了下NULL值的一些特性,以便能夠正確使用NULL值。 1,建立表時欄位時若未新增預設值,則預設為NULL值 2,NULL值和NUL
jsonconvert null值處理 datetime處理
/// <summary> /// 將物件轉換成json字串 /// </summary> /// <param name="obj">物件</param>
mysql NULL 值求和問題
今天一個同事問我一個問題,他執行一條如下的求和的sql語句: select sum(a + b + c + d),sum (a),sum(b),sum(c),sum(d) from T ; 結果是:11,3,5,3,5,也就是 放在一塊求和分別求和,結果不一致, 剛一看問
Oracle資料庫order by排序之null值處理方法
最近在忙活公司產品後臺的資料報表,在對業務資料排序時候,發現有些欄位的記錄是null值,這時排序便出現了有違我們使用習慣的資料大小順序問題。在Oracle中規定,在Order by排序時預設認為null是最大值,所以如果是ASC升序則被排在最後,而DESC降序則排在最前。
Spring boot + MyBatis返回map中null值處理
在日常開發中,查詢資料返回型別為map,資料庫中有些自動值為null,則返回的結果中沒有值為空的欄位,則如何顯示值為空的欄位呢?1.xml檔案:<resultMapid="userLoginInfo"type="map"> <resultcolumn="u
MySQL日期字串轉換成NULL值的異常處理
1,YYYYmmdd格式日期轉換為null 看如下記錄,一個能取到值,一個取不到值** mysql> SELECT DATE_FORMAT(STR_TO_DATE(‘20150922 13:01:01’, ‘%Y%m%d %H:%m:%s’),’%H: