詳解Mysql查詢條件中字符串尾部有空格也能匹配上的問題
一、表結(jié)構(gòu)
TABLE person
| 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)換運算符,它用來強制它后面的字符串為一個二進制字符串,可以理解成精確匹配
以上就是本次介紹的全部相關(guān)知識點,如果大家有任何補充可以聯(lián)系腳本之家小編。
相關(guān)文章
MySQL日期格式化yyyy-mm-dd詳解(DATE_FORMAT()函數(shù))
MySQL提供了很多功能強大、方便易用的函數(shù),在進行數(shù)據(jù)庫管理以及數(shù)據(jù)的查詢和操作時,幫助我們提高對數(shù)據(jù)庫的管理效率,下面這篇文章主要給大家介紹了關(guān)于MySQL日期格式化yyyy-mm-dd(DATE_FORMAT()函數(shù))的相關(guān)資料,需要的朋友可以參考下2023-01-01
MySQL按時間統(tǒng)計數(shù)據(jù)的方法總結(jié)
在本篇MYSQL的內(nèi)容里,我們給大家整理了關(guān)于按時間統(tǒng)計數(shù)據(jù)的方法內(nèi)容,有需要的朋友們學(xué)習(xí)下。2019-02-02
Java的Struts框架中的主題模板和國際化設(shè)置
這篇文章主要介紹了Java的Struts框架中的主題模板和國際化設(shè)置,Struts是Java的SSH三大web開放框架之一,需要的朋友可以參考下2015-12-12
mysql獲取當(dāng)前日期年月的兩種實現(xiàn)方式
這篇文章主要介紹了mysql獲取當(dāng)前日期年月的兩種實現(xiàn)方式,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教2023-07-07
解決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

