SQL DB で理解できない非常に奇妙な動作があります (MySQL 5.5.8 を使用しています)。
テーブルに varchar(10) という名前があります: joe.
次のようなSQLを実行する場合:
SELECT ID FROM `names` WHERE `name` = 'joe '
1 つの結果: joe が得られますが、テーブルには「joe」がないため、これは間違っています (末尾にスペースがあります。「joe」しかありません (スペースなし))。
ただし、実行すると:
SELECT ID FROM `names` WHERE `name` LIKE 'joe '
私は期待どおりに得ます:何もありません。私の知る限り、 = は「完全に」一致する必要がありますが、 like はより緩く、サブ文字列と % で使用できます。
何が欠けていますか?