之前已經在本網站上詢問過,但我找不到足夠的答案。如果我正在進行如下查詢:Select Seller from Table where Location = 'San Jose'我怎樣才能讓它只返回位置'圣何塞'而不是'圣何塞'或其他東西的賣家?
3 回答

不負相思意
TA貢獻1777條經驗 獲得超10個贊
默認情況下,MySQL查詢不區分大小寫。以下是一個尋找“價值”的簡單查詢。但它會返回'VALUE','value','VaLuE'等...
SELECT * FROM `table` WHERE `column` = 'value'
好消息是,如果您需要進行區分大小寫的查詢,則使用BINARY運算符非常容易,這會強制逐字節比較:
SELECT * FROM `table` WHERE BINARY `column` = 'value'

ABOUTYOU
TA貢獻1812條經驗 獲得超5個贊
為了改善詹姆斯的出色答案:
最好放在BINARY常數之前代替:
SELECT * FROM `table` WHERE `column` = BINARY 'value'
放在BINARY前面column會阻止在該列上使用任何索引。

暮色呼如
TA貢獻1853條經驗 獲得超9個贊
雖然列出的答案是正確的,但我可以建議,如果您的列要保存區分大小寫的字符串,請閱讀文檔并相應地更改表定義。
在我的情況下,這相當于將我的列定義為:
`tag` varchar(255) CHARACTER SET utf8 COLLATE utf8_bin NOT NULL DEFAULT ''
在我看來,這是優先調整您的查詢。
添加回答
舉報
0/150
提交
取消