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

首頁 > 數據庫 > SQL Server > 正文

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

2024-08-31 01:03:30
字體:
來源:轉載
供稿:網友

當我們輸入不管大小寫都能查詢到數據,例如:輸入 aaa 或者aaA ,AAA都能查詢同樣的結果,說明查詢條件對大小寫不敏感。

解決方案一:

于是懷疑Mysql的問題。做個實驗:直接使用客戶端用sql查詢數據庫。 發現的確是大小不敏感 。

通過查詢資料發現需要設置collate(校對) 。 collate規則:

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

解決方法。

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查詢默認是不區分大小寫的 如:

select * from some_table where str=‘abc';select * from some_table where str='ABC';

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

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

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

第二方法:

在建表時時候加以標識

create table some_table(str char(20) binary )

原理:

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

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


注:相關教程知識閱讀請移步到MSSQL教程頻道。
發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 吉安市| 五指山市| 京山县| 洛川县| 名山县| 十堰市| 玛纳斯县| 湘潭市| 台东市| 宜都市| 临潭县| 日照市| 嘉黎县| 金阳县| 沈丘县| 兰西县| 新乐市| 余姚市| 涞水县| 聂荣县| 天台县| 孟连| 安岳县| 斗六市| 五河县| 大埔县| 庆安县| 德化县| 罗山县| 双峰县| 肃南| 六枝特区| 通河县| 罗源县| 田阳县| 临武县| 维西| 开化县| 茶陵县| 广安市| 霸州市|