id | name |
---|---|
1 | 你 |
2 | 你(一個空格) |
3 | 你(二個空格) |
二、查詢與結(jié)果
select * from person where `name` = ?
無論 ? = ”你 + 幾個空格”,都會檢索出全部三個結(jié)果。
三、原因
MySQL 校對規(guī)則屬于PADSPACE,會忽略尾部空格
針對的是 varchar char text …… 等文本類的數(shù)據(jù)類型
此為 SQL 標準化行為。無需要設(shè)置也無法改變。
四、想要精確查詢怎么辦?
方法一:like
select * from person where `name` like ?
方法二:BINARY
select * from person where `name` = BINARY ?
BINARY 不是函數(shù),是類型轉(zhuǎn)換運算符,它用來強制它后面的字符串為一個二進制字符串,可以理解成精確匹配
以上就是本次介紹的全部相關(guān)知識點,如果大家有任何補充可以聯(lián)系腳本之家小編。