MySql查詢不區分大小寫解決方案(兩種)
當我們輸入不管大小寫都能查詢到資料,例如:輸入 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資料查詢問題,請登入本站學習。
相關推薦
MySql查詢不區分大小寫解決方案(兩種)
當我們輸入不管大小寫都能查詢到資料,例如:輸入 aaa 或者aaA ,AAA都能查詢同樣的結果,說明查詢條件對大小寫不敏感。 解決方案一: 於是懷疑Mysql的問題。做個實驗:直接使用客戶端用sql查詢資料庫。 發現的確是大小不敏感 。 通過查詢資料發現需要設定collate(校對) 。 collate規則
解決MySQl查詢不區分大小寫
問題 最近,在用SSH框架完成一個實踐專案時,碰到了一個莫名其妙的Bug困擾了我好久,最後終於解決,記錄如下。 問題:同學在測試系統的時候突然發現,資料庫儲存的賬戶本來應該是admin,結果該同學用Admin賬戶居然登入成功了…… ……EXM???
mysql查詢不區分大小寫
摘自:http://www.jb51.net/article/70884.htm 當我們輸入不管大小寫都能查詢到資料,例如:輸入 aaa 或者aaA ,AAA都能查詢同樣的結果,說明查詢條件對大小寫不敏感。 解決方案一: 於是懷疑Mysql的問題。做個實驗:直接使用客戶端用sql查詢
mysql存表情出錯的解決方案(類似xF0x9Fx98x86xF0x9F)
cau use 結果 column 之前 involve 成功 tail _proto_ 之前以為mysql設置utf-8以及昵稱decode後就萬事大吉了,結果最近才發現對於4字節的表情會報錯。 報錯信息如下: data: nullmessage: " ### Err
手機能連上Wifi,而Win10筆記本卻連不上,解決方案(有圖)
出差在外,手機能夠連上Wifi,膝上型電腦連線時,Wifi圖示左下角卻出現橘黃色問號,顯示網路訪問不成功。 解決方法如下: 1. 點選工作列上的Wifi圖示,點選“網路和Internet設定” 2. 在開啟的設定面板中,選擇“更改介面卡選項” 3. 雙擊需要連線
***在Linux環境下mysql的root密碼忘記解決方法(三種)-推薦第三種
href containe 完全 mys init.d 操作 root ubunt upd MySQL密碼的恢復方法之一 1.首先確認服務器出於安全的狀態,也就是沒有人能夠任意地連接MySQL數據庫。 因為在重新設置MySQL的root密碼的期間,MySQL數據庫完全出於沒
【MySQL】如何解決MySQL中查詢不區分大小寫的問題
bsp title 標識 article ble 問題 col bold table mysql查詢默認是不區分大小寫的 如: select * from some_table where str=‘abc‘; select * from some_ta
關於mysql中sql語句查詢不區分大小寫的解決辦法
MySQL在Linux下資料庫名、表名、列名、別名大小寫規則是這樣的: 1、資料庫名與表名是嚴格區分大小寫的; 2、表的別名是嚴格區分大小寫的; 3、列名與列的別名在所有的情況下均是忽略大小寫的; 4、變數名也是嚴格區分大小寫的; MySQL在Windows下都不區分大
Oracle 查詢不區分大小寫 (正則函式)
//不區分大小寫查詢 REGEXP_LIKE(欄位名, '(" + keyword+ ")', 'i') " ); Oracle中的Like操作符使用'_'和'%'作為萬用字元,使用就像這樣: SELECT name FROM test_like WHERE nam
【MYSQL】查詢不區分大小寫
MYSQL在預設的情況下查詢是不區分大小寫的,例如:mysql> create table t1( -> name varchar(10)); Query OK, 0 rows affected (0.09 sec)mysql> insert into
Visual GC提示"不受此JVM支持“解決方案(配置jstatd)
添加節點 註意 安全策略 插件 nbsp accep 還需 policy jstatd Visual GC提示"不受此JVM支持“,如果想使用這個插件,就需要配置jstatd連接方式,下面來看jstatd的配置; 1.配置安全策略文件路徑$JAVA_HOME/
激活miniconda2環境,出現activate命令不存在的解決方案(activate: No such file or directory)
director bsp ini nbsp update date pat -i min miniconda2版本比較低時會出現這種報錯,通過更新miniconda2就可以解決這個問題,用到的命令行: /path/to/miniconda2/conda update
SSH連接linux時,長時間不操作就斷開的解決方案(增強版)
正常 每分鐘 指定 防止 variable 當前 實現 客戶 不發送 1、第一次嘗試失敗 修改/etc/ssh/sshd_config文件, 找到 ClientAliveInterval 0 ClientAliveCountMax 3 並將註釋符號("#")去掉, 將Cli
Navicat 連線Mysql 8.0以上版本報錯1251的詳細解決方案(配效果圖)
從MySql5.7版本跳到了Mysql 8.0的版本,安裝的時候提示連結加密方式已經改變,是選擇5.?時代的方式還是新的方式,當時 全部選擇預設,所以選擇的新的 加密方式,然後 裝好之後Navicat遠端連線就一直報錯1251 如圖所示:1251-Client does n
word中MathPage.wll或MathType.dll檔案找不到的解決方案(親測有效!)
在安裝了正版的mathtype 6.9b之後開啟word,竟然報了個mathpage.wll找不到的錯,於是乎逛了各大網站、部落格,一遍遍的試,不知道諸位是不是也和我一樣,屢次操作均是失敗。 但我的一次自行嘗試竟然解決了這個問題,其實解決的方法很簡單。因為由於版本的原因,網
國產手機不支援google play Service 的解決方案(小米2)
宣告:此方法在最新米2 V5 系統裡測試成功 最近專案準備用google map做開發,但是當我一切準備工作就緒後,app-key申請完了,程式碼也加到工程裡後,一執行發現無法獲得google play Service,所以也就無法顯示google map。後來想想問題是用
SVN資料夾圖示不正常顯示解決方案(win10)android studio
在使用Android Studio提交程式碼時發現svn圖示莫名其妙的不顯示,其他操作都正常。在網上搜了一堆資料都有各種說法,結合了操作,一步步來試終於給我找到了,在這我自己總結一下,一部分也是拷貝別的圖片,寫一篇清楚文章好希望能幫助和我遇到這種問題的人。以下步驟:解決方法一(失敗):1.升級最新版本,我的本
sqlite 模糊查詢不區分大小寫,以及區分大小寫語句
https://www.jianshu.com/p/ce3786435c46 SELECT * FROM %@ where sessionId = '%@' and servState!=2 and content like '%%%@%%' COLLATE NOCAS
mysql設定不區分大小寫
今天調一個程式,在windows下沒問題,但是在linux下一直提示找不到表,但資料庫是存在的。 感覺挺奇怪的,找了找原因,原來是mysql在linux下是預設區分表名大小寫的,在windows下預設不區分。 找到原因就好解決了: 用root賬號登入linux系統,修改/e
svn圖示不顯示的解決方案(第四個好辦法)
最近發現svn圖示莫名其妙的不顯示,其他操作都正常。在網上搜了一些方法。 解決方法一(失敗): 升級最新版本,我的本來就是最新版本 解決方法二(失敗): 右鍵->TortoiseSVN->setting->Icon Overlays->Status cache->default