一、表結構
TABLE person
二、查詢與結果
select * from person where `name` = ?
無論 ? = ”你 + 幾個空格”,都會檢索出全部三個結果。
三、原因
MySQL 校對規則屬於PADSPACE,會忽略尾部空格
針對的是 varchar char text …… 等文本類的數據類型
此為 SQL 標准化行為。無需要設置也無法改變。
四、想要精確查詢怎么辦?
方法一:like
select * from person where `name` like '你'
方法二:BINARY
select * from person where `name` = BINARY '你'
注:BINARY 不是函數,是類型轉換運算符,它用來強制它后面的字符串為一個二進制字符串,可以理解成精確匹配