国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 數(shù)據(jù)庫 > SQL Server > 正文

MySql查詢不區(qū)分大小寫解決方案(兩種)

2020-07-25 12:52:05
字體:
供稿:網(wǎng)友

當(dāng)我們輸入不管大小寫都能查詢到數(shù)據(jù),例如:輸入 aaa 或者aaA ,AAA都能查詢同樣的結(jié)果,說明查詢條件對大小寫不敏感。

解決方案一:

于是懷疑Mysql的問題。做個實驗:直接使用客戶端用sql查詢數(shù)據(jù)庫。 發(fā)現(xiàn)的確是大小不敏感 。

通過查詢資料發(fā)現(xiàn)需要設(shè)置collate(校對) 。 collate規(guī)則

 *_bin: 表示的是binary case sensitive collation,也就是說是區(qū)分大小寫的
 *_cs: case sensitive collation,區(qū)分大小寫
 *_ci: case insensitive collation,不區(qū)分大小寫

解決方法。

1.可以將查詢條件用binary()括起來。  比如:  

select * from TableA where binary columnA ='aaa';

2. 可以修改該字段的collation 為 binary

比如:

ALTER TABLE TABLENAME MODIFY COLUMN COLUMNNAME VARCHAR(50) BINARY CHARACTER SET utf8 COLLATE utf8_bin DEFAULT NULL;

解決方案二:

mysql查詢默認(rèn)是不區(qū)分大小寫的 如:

select * from some_table where str=‘a(chǎn)bc';select * from some_table where str='ABC';

得到的結(jié)果是一樣的,如果我們需要進行區(qū)分的話可以按照如下方法來做: 

第一種方法:
要讓mysql查詢區(qū)分大小寫,可以:

select * from some_table where binary str='abc'select * from some_table where binary str='ABC'

第二方法:

在建表時時候加以標(biāo)識

create table some_table(   str char(20) binary )

原理:

對于CHAR、VARCHAR和TEXT類型,BINARY屬性可以為列分配該列字符集的 校對規(guī)則。BINARY屬性是指定列字符集的二元 校對規(guī)則的簡寫。排序和比較基于數(shù)值字符值。因此也就自然區(qū)分了大小寫。

以上通過兩種方案解決了MySql查詢不區(qū)分大小寫的問題,希望對大家有所幫助,更多有mysql數(shù)據(jù)查詢問題,請登錄本站學(xué)習(xí)。

發(fā)表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發(fā)表
主站蜘蛛池模板: 舞钢市| 都兰县| 鱼台县| 青州市| 左云县| 平泉县| 大悟县| 阜新市| 罗源县| 大余县| 昭苏县| 白银市| 曲阳县| 逊克县| 芜湖县| 玉环县| 大姚县| 望城县| 蒲江县| 德惠市| 四子王旗| 金平| 汉中市| 准格尔旗| 泽库县| 桃源县| 高邑县| 杭锦后旗| 武平县| 永修县| 炎陵县| 扶绥县| 长泰县| 灵寿县| 长沙县| 玛曲县| 霍邱县| 盐城市| 宿州市| 武平县| 嫩江县|