私はMySQLで以下のテーブルを持っています。MySQLで予期しないNULLの比較がありません
city_data
+------+-----------+-------------+
| id | city_code | city_name |
+------+-----------+-------------+
| 4830 | BHR | Bharatpur |
| 4831 | KEP | Nepalgunj |
| 4833 | OHS | Sohar |
| 4834 | NULL | Shirdi |
+------+-----------+-------------+
以下のクエリ。
city_codeからのid、city_code、city_nameの選択city_code!= 'BHR';
私は3行を期待していました。
| 4831 | KEP | Nepalgunj |
| 4833 | OHS | Sohar |
| 4834 | NULL | Shirdi |
+------+-----------+-------------+
ただし、2行しか取得できません。
| 4831 | KEP | Nepalgunj |
| 4833 | OHS | Sohar |
+------+-----------+-------------+
は私が行
| 4834 | NULL | Shirdi |
はなく、私のクエリの結果に含まれる理由を理解することはできませんよ。 where条件(NULL!= 'BHR')が渡されているはずです。
疑問を解決するために、誰か助けてください。
city_dataからのselect id、city_code、city_name where COALESCE(city_code、 ' - 1')!= 'BHR'; ' – lad2025