Mysql查詢語句中字元型字段不區分大小寫解決方法

2022-05-15 12:49:14 字數 582 閱讀 3431

專案中和前端聯調的時候,發現mysql查詢語句中字元型字段值過濾是不區分大小寫的,之前沒有關注過這個設定,特意去網上看了下,原因是mysql中「collate」屬性區分大小寫,而該屬性預設值為「utf8_general_ci」,這個值表示是不區分大小寫的。現將解決方法記錄如下:

1.設定「collate」屬性值為「utf8_bin」或者「utf8_gerneral_cs」,utf8_bin表示二進位制比較,同時也支援區分大小寫;在mysql5.6.10版本中,不支援utf8_genral_cs;

2.在建立表的時候,指定表字段collate 為utf8_bin或者utf8_general_cs(注意版本),如:

alter table sample modify column module varchar(128) collate utf8_bin ;

3.修改欄位為binary:

alter table sample modify column module varchar(128) binary;

4.查詢語句字段前面加binary:

select * from sample where binary module='sample';

sql查詢語句中

sql查詢語句中select t.status,t.rowid from person t where t.status 2,此處查詢的是status不等於2的記錄,並過濾掉status為null的記錄。注意 此處不管status是integer型別還是long型別,都會過濾掉status為null...

SQL語句中查詢字元的位置

語法如下 string1 源字串,要在此字串中查詢。string2 要在string1中查詢的字串 start position 代表string1 的哪個位置開始查詢。此引數可選,如果省略預設為1.字串索引從1開始。如果此引數為正,從左到右開始檢索,如果此引數為負,從右到左檢索,返回要查詢的字串在...

SQL語句中查詢字元的位置

語法如下 instr string1,string1 源字串,要在此字串中查詢。string2 要在string1中查詢的字串 start position 代表string1 的哪個位置開始查詢。此引數可選,如果省略預設為1.字串索引從1開始。如果此引數為正,從左到右開始檢索,如果此引數為負,從右...