簡體   English   中英

無法使用 AND 條件獲取結果

[英]Unable to get results using AND condition

當我執行以下查詢時,我沒有得到任何結果:

SELECT * FROM contacts_cstm WHERE id = '123' AND ftrere!='test'

當我運行以下查詢時,它會返回結果:

SELECT * FROM  contacts_cstm  WHERE ( id = '123')

以下是表定義以及示例插入語句:

CREATE TABLE IF NOT EXISTS `contacts_cstm` (
  `id` char(36) NOT NULL,
  `ftrere` varchar(100) DEFAULT '',
  PRIMARY KEY (`id`)
) ENGINE=MyISAM DEFAULT CHARSET=utf8;

INSERT INTO `contacts_cstm` (`id`, `ftrere`) VALUES
('123', NULL);

我不確定我錯過了什么。 任何幫助將不勝感激!

NULL失敗<>就像它失敗=一樣。 使用空安全比較:

SELECT *
FROM contacts_cstm
WHERE id = 123 AND NOT (ftrere <=> 'test')

請注意,<=> 是 MySQL 定制的 NULL 安全<=> 這等同於標准 SQL operator IS NOT DISTINCT FROM

或者明確說明NULL比較:

SELECT *
FROM contacts_cstm
WHERE id = 123 AND (ftrere <> 'test' OR ftrere IS NULL);

注意: id看起來像一個數字,所以為了比較我去掉了單引號。

暫無
暫無

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

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