[英]Difference Between MySql <> NULL and IS NOT NULL
在我的數據庫中有一個varchar(255)列,對於某些記錄,它包含空值,當我解雇它時
SELECT * FORM my_table where some_column <> NULL;
沒有任何回報
但什么時候被解雇了
SELECT * FORM my_table where some_column IS NOT NULL;
我得到了想要的記錄
你能解釋一下它們之間的主要區別以及何時使用<>和!=運算符。
您不能使用算術比較運算符(如=,<或<>)來測試NULL。 因為與NULL進行任何算術比較的結果也是NULL,所以無法從這種比較中獲得任何有意義的結果。
在mysql中,字符串列可以為空=''或NUL(不是賦值)
所以你應該使用不空
SELECT * FORM my_table where some_column <> '';
要么
SELECT * FORM my_table where some_column != '';
或不等於一個值
SELECT * FORM my_table where some_column <> 'my_value';
SELECT * FORM my_table where some_column != 'my_value';
如果不為null,則必須使用特殊運算符IS NOT NULL
SELECT * FORM my_table where some_column IS NOT NULL;
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.