詳解Mysql查詢條件中字符串尾部有空格也能匹配上的問題
一、表結(jié)構(gòu)
TABLE person
id | name |
---|---|
1 | 你 |
2 | 你(一個(gè)空格) |
3 | 你(二個(gè)空格) |
二、查詢與結(jié)果
select * from person where `name` = ?
無論 ? = ”你 + 幾個(gè)空格”,都會(huì)檢索出全部三個(gè)結(jié)果。
三、原因
MySQL 校對(duì)規(guī)則屬于PADSPACE,會(huì)忽略尾部空格
針對(duì)的是 varchar char text …… 等文本類的數(shù)據(jù)類型
此為 SQL 標(biāo)準(zhǔn)化行為。無需要設(shè)置也無法改變。
四、想要精確查詢?cè)趺崔k?
方法一:like
select * from person where `name` like ?
方法二:BINARY
select * from person where `name` = BINARY ?
BINARY 不是函數(shù),是類型轉(zhuǎn)換運(yùn)算符,它用來強(qiáng)制它后面的字符串為一個(gè)二進(jìn)制字符串,可以理解成精確匹配
以上就是本次介紹的全部相關(guān)知識(shí)點(diǎn),如果大家有任何補(bǔ)充可以聯(lián)系腳本之家小編。
相關(guān)文章
MySQL日期格式化yyyy-mm-dd詳解(DATE_FORMAT()函數(shù))
MySQL提供了很多功能強(qiáng)大、方便易用的函數(shù),在進(jìn)行數(shù)據(jù)庫管理以及數(shù)據(jù)的查詢和操作時(shí),幫助我們提高對(duì)數(shù)據(jù)庫的管理效率,下面這篇文章主要給大家介紹了關(guān)于MySQL日期格式化yyyy-mm-dd(DATE_FORMAT()函數(shù))的相關(guān)資料,需要的朋友可以參考下2023-01-01MySQL按時(shí)間統(tǒng)計(jì)數(shù)據(jù)的方法總結(jié)
在本篇MYSQL的內(nèi)容里,我們給大家整理了關(guān)于按時(shí)間統(tǒng)計(jì)數(shù)據(jù)的方法內(nèi)容,有需要的朋友們學(xué)習(xí)下。2019-02-02Java的Struts框架中的主題模板和國際化設(shè)置
這篇文章主要介紹了Java的Struts框架中的主題模板和國際化設(shè)置,Struts是Java的SSH三大web開放框架之一,需要的朋友可以參考下2015-12-12mysql獲取當(dāng)前日期年月的兩種實(shí)現(xiàn)方式
這篇文章主要介紹了mysql獲取當(dāng)前日期年月的兩種實(shí)現(xiàn)方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教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'的錯(cuò)誤提示,文中介紹的非常詳細(xì),需要的朋友可以參考借鑒,下面來一起看看吧。2017-05-05