0
運行帶有LIKE
和=
的某些條件的MySQL
查詢時,我遇到了一個奇怪的現象。LIKE和=在MySQL中以相同的方式對待withespaces嗎?
SELECT
...
FROM
...
WHERE
products.productcode LIKE '590082QRV040'
AND ...
出於某種原因,在數據庫中的一些productcodes被存儲並在後面加上一個空格字符(可能缺乏微調某處的數據被插入)。因此,例如上面的產品代碼實際上存儲爲'590082QRV040 '
。奇怪的是,如果我使用如下條件運行查詢:products.productcode LIKE '590082QRV040'
沒有匹配,但對於products.productcode = '590082QRV040'
我得到了期望的結果。我只是想知道是什麼原因。我認爲LIKE
和=
之間的區別在於LIKE
中允許使用通配符。但現在我甚至沒有通配符,所以兩者應該完全一樣。
大答案... +1 – Shafizadeh