2017-03-22 6 views
1

私は、このようなSQLクエリMySQLはLIKEによる検索とAND

SELECT * FROM fl_entities WHERE name LIKE '%FTSE%' AND source != 'ABC'; 

を持っているし、結果を取得できませんでした。私は

SELECT * FROM fl_entities WHERE name LIKE '%FTSE%' AND source is NULL; 

を使用する場合でも、私は最初のクエリと間違っている何結果

+----+----------+-----------+--------+--------+ 
| id | name  | core_name | type | source | 
+----+----------+-----------+--------+--------+ 
| 31 | FTSE  | FTSE  | factor | NULL | 
+----+----------+-----------+--------+--------+ 

を得ましたか。助けてください。

+0

'名LIKE '%のFTSE 100%''あなたに上記の結果を取得できますか。 – GurV

+0

名LIKE '%FTSEの%' AND NOT(ソース<=> 'ティッカー')fl_entities SELECT * FROM新しいソリューションを探します。 – Vladimircape

答えて

1

NULLSは何と同等ではないので、=または!=比較によってそれらを比較することはできません。あなたはIS NULLまたはIS NOT NULLを使用する必要があります。

1

(さえ否定で)いくつかの値に列を比較するときにnull値は常に除外されます。あなたの結果でそれらをしたい場合、あなたは少しデモがhereを見つけることができます

SELECT * FROM fl_entities WHERE name LIKE '%FTSE%' 
AND (source != 'ABC' OR source is null) 

のように、明示的にそれを指定する必要があります。

+0

新しいソリューションを見つける。 SELECT * FROM fl_entities名前 '%FTSE 100%' AND NOT(ソース<=> 'ティッカー'); – Vladimircape

関連する問題