詳解Mysql查詢條件中字符串尾部有空格也能匹配上的問題
一、表結構
TABLE person
| id | name |
|---|---|
| 1 | 你 |
| 2 | 你(一個空格) |
| 3 | 你(二個空格) |
二、查詢與結果
select * from person where `name` = ?
無論 ? = ”你 + 幾個空格”,都會檢索出全部三個結果。
三、原因
MySQL 校對規(guī)則屬于PADSPACE,會忽略尾部空格
針對的是 varchar char text …… 等文本類的數(shù)據(jù)類型
此為 SQL 標準化行為。無需要設置也無法改變。
四、想要精確查詢怎么辦?
方法一:like
select * from person where `name` like ?
方法二:BINARY
select * from person where `name` = BINARY ?
BINARY 不是函數(shù),是類型轉(zhuǎn)換運算符,它用來強制它后面的字符串為一個二進制字符串,可以理解成精確匹配
以上就是本次介紹的全部相關知識點,如果大家有任何補充可以聯(lián)系腳本之家小編。
相關文章
MySQL日期格式化yyyy-mm-dd詳解(DATE_FORMAT()函數(shù))
MySQL提供了很多功能強大、方便易用的函數(shù),在進行數(shù)據(jù)庫管理以及數(shù)據(jù)的查詢和操作時,幫助我們提高對數(shù)據(jù)庫的管理效率,下面這篇文章主要給大家介紹了關于MySQL日期格式化yyyy-mm-dd(DATE_FORMAT()函數(shù))的相關資料,需要的朋友可以參考下2023-01-01
MySQL按時間統(tǒng)計數(shù)據(jù)的方法總結
在本篇MYSQL的內(nèi)容里,我們給大家整理了關于按時間統(tǒng)計數(shù)據(jù)的方法內(nèi)容,有需要的朋友們學習下。2019-02-02
解決mysql創(chuàng)建數(shù)據(jù)庫后出現(xiàn):Access denied for user ''root''@''%'' to dat
這篇文章主要給大家介紹了如何解決mysql在創(chuàng)建數(shù)據(jù)庫后出現(xiàn):Access denied for user 'root'@'%' to database 'xxx'的錯誤提示,文中介紹的非常詳細,需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05

