mysql 不等於 符號寫法


今天在寫sql語句的時候,想確認下mysql的不等於運算符是用什么符號表示的

 

經過測試發現mysql中用<>與!=都是可以的,但sqlserver中不識別!=,所以建議用<>



selece * from jb51 where id<>45

sql 里 符號<> 於 != 的區別

<> 與!=都是不等於的意思,但是一般都是用<>來代碼不等於因為<>在任何SQL中都起作用但是!=在sql2000中用到,則是語法錯誤,不兼容的

sql中的等於和不等於, '=' ,'!=','<>','is null'....
不等於:<> ,!=,~= ,^= 這四個符號據說都可以在oracle中表示不等於,但是試了之后發現<> ,!= ,^=是可以的,~=不行,需要注意的是,只有<>是標准的sql語法,可以移植,其他的都是oracle平台的特性,移植性較差,所以開發中,盡量使用<>表示不等於

等於:=不用多說,但是要進行null的等於判斷時,須使用is null 或is not null,null只能通過is null或者is not null來判斷,其它操作符與null操作都是false。

例子,select * from bl_ip_dt where amount <> 800,這條語句查不出amount等於null 的記錄,

select * from bl_ip_dt where amount <> 800 or amount is null 才是可以的MySql的簡單查詢不等於NULL

查詢表中aa是null的數據:

select * from table where aa is null;

查詢表中aa不等於1的數據:

select * from table where aa <> 1;

NULL值操作:

NULL值可能令人感到奇怪直到你習慣它。概念上,NULL意味着“沒有值”或“未知值”,且它被看作與眾不同的值。為了測試NULL,你不能使用算術比較 操作符例如=、<或!=。為了說明它,試試下列查詢:

mysql> SELECT 1 = NULL, 1 <> NULL, 1 < NULL, 1 > NULL;
+----------+-----------+----------+----------+
| 1 = NULL | 1 <> NULL | 1 < NULL | 1 > NULL |
+----------+-----------+----------+----------+
|     NULL |      NULL |     NULL |     NULL |
+----------+-----------+----------+----------+
很顯然你不能通過這些比較得到有意義的結果。相反使用IS NULL和IS NOT NULL操作符:

mysql> SELECT 1 IS NULL, 1 IS NOT NULL;
+-----------+---------------+
| 1 IS NULL | 1 IS NOT NULL |
+-----------+---------------+
|         0 |             1 |
+-----------+---------------+
請注意在MySQL中,0或 NULL意味着假而其它值意味着真。布爾運算的默認真值是1。

自我感覺is null或者IFNULL(SUM(),XXX)在開發中經常用到。

另外在php中 <> 和 != 都是可以用的

$a == $b 等於 TRUE,如果 $a 等於 $b。 
$a === $b 全等 TRUE,如果 $a 等於 $b,並且它們的類型也相同。(PHP 4 引進) 
$a != $b 不等 TRUE,如果 $a 不等於 $b。 
$a <> $b 不等 TRUE,如果 $a 不等於 $b。 
$a !== $b 非全等 TRUE,如果 $a 不等於 $b,或者它們的類型不同。(PHP 4 引進) 
$a < $b 小與 TRUE,如果 $a 嚴格小於 $b。 
$a > $b 大於 TRUE,如果 $a 嚴格 $b。 
$a <= $b 小於等於 TRUE,如果 $a 小於或者等於 $b。 
$a >= $b 大於等於 TRUE,如果 $a 大於或者等於 $b.

 

參考:https://www.jb51.net/article/40264.htm


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM