簡體   English   中英

MySQL IS NOT NULL和!=''之間的區別

[英]Difference between MySQL IS NOT NULL and != ''

MySQL之間有什么區別嗎?

IF (myText IS NOT NULL) THEN

IF (myText != '') THEN

是的, NULL值和空白/空值之間存在很大差異。

這是描述差異的一種資源

myText IS NULL

  • myText IS NOT NULL計算結果為FALSE
  • myText != ''求值為NULL (在你編寫的這個特定情況下,它的行為與FALSE基本相同)

但是,你不應該養成對待它們的習慣,因為大多數時候它們會表現不同:例如:

假設你有一個表tbl

id   text
1    NULL
2    
3    abc

注意: 1包含NULL值,2包含空字符串( '' )。

如果您運行以下查詢:

SELECT * FROM tbl WHERE text != ''

......它將返回記錄3。

如果您運行以下查詢:

SELECT * FROM tbl WHERE text IS NOT NULL

...它將返回記錄2和3。

是,有一點不同。

簡單來說, myText IS NOT NULL指定myText具有某些可能也是“值”的值

其中myText!=''指定它返回TRUE,如果myText不包含空字符串

它們是有區別的。 如果列的默認值為“NULL”,那么如果沒有為字段設置數據,則它實際上為空。 但是,如果字段的值已更新為'',則它不是NULL,而是為空。

在這里看到更多的信息鏈接

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM