id | name |
---|---|
1 | 你 |
2 | 你(一個空格) |
3 | 你(二個空格) |
二、查詢與結(jié)果
select * from person where `name` = ?
無論 ? = ”你 + 幾個空格”,都會檢索出全部三個結(jié)果。
三、原因
MySQL 校對規(guī)則屬于PADSPACE,會忽略尾部空格
針對的是 varchar char text …… 等文本類的數(shù)據(jù)類型
此為 SQL 標(biāo)準(zhǔn)化行為。無需要設(shè)置也無法改變。
四、想要精確查詢怎么辦?
方法一:like
select * from person where `name` like ?
方法二:BINARY
select * from person where `name` = BINARY ?
BINARY 不是函數(shù),是類型轉(zhuǎn)換運(yùn)算符,它用來強(qiáng)制它后面的字符串為一個二進(jìn)制字符串,可以理解成精確匹配
以上就是本次介紹的全部相關(guān)知識點(diǎn),如果大家有任何補(bǔ)充可以聯(lián)系腳本之家小編。
標(biāo)簽:黃石 河北 果洛 陽江 鞍山 赤峰 來賓 煙臺
巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《詳解Mysql查詢條件中字符串尾部有空格也能匹配上的問題》,本文關(guān)鍵詞 詳解,Mysql,查詢,條件,中,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請?zhí)峁┫嚓P(guān)信息告之我們,我們將及時溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。