主頁(yè) > 知識(shí)庫(kù) > Mysql 中文排序規(guī)則說明

Mysql 中文排序規(guī)則說明

熱門標(biāo)簽:外呼系統(tǒng)打電話上限是多少 武漢網(wǎng)絡(luò)外呼系統(tǒng)服務(wù)商 電話外呼系統(tǒng)改號(hào) 南昌三維地圖標(biāo)注 百應(yīng)電話機(jī)器人優(yōu)勢(shì) 曲靖移動(dòng)外呼系統(tǒng)公司 地圖標(biāo)注費(fèi)用是多少 怎樣在地圖標(biāo)注銷售區(qū)域 啥是企業(yè)400電話辦理

使用MySQL過程中,我們經(jīng)常會(huì)對(duì)一個(gè)字段進(jìn)行排序查詢,我們一般都是想要按照中文拼音首字母進(jìn)行依次排序,但mysql中進(jìn)行中文排序的時(shí)候,對(duì)漢字的排序結(jié)果往往都是錯(cuò)誤的。

這種情況在MySQL的很多版本中都存在。

如果這個(gè)問題不解決,那么MySQL將無(wú)法實(shí)際處理中文。

出現(xiàn)這個(gè)問題的原因是因?yàn)镸ySQL在查詢字符串時(shí)是大小寫不敏感的,在編繹MySQL時(shí)一般以ISO-8859字符集作為默認(rèn)的字符集,因此在比較過程中中文編碼字符大小寫轉(zhuǎn)換造成了這種現(xiàn)象。

查了資料有兩種解決方法:

1.對(duì)于包含中文的字段加上”binary”屬性,使之作為二進(jìn)制比較,例如將”name varchar(10)”改成”name varchar(10)binary”。

2. 如果不想對(duì)表結(jié)構(gòu)進(jìn)行修改或者重新編譯MySQL,也可以在查詢語(yǔ)句的 order by 部分使用 CONVERT 函數(shù)。

比如 name字段為中文,需要按其排序,則可以寫select * from mytable order by CONVERT(name USING gbk);

補(bǔ)充:mysql數(shù)據(jù)庫(kù)默認(rèn)排序問題

1、mysql官方回答:

SELECT * FROM tbl -- this will do a "table scan". If the table has never had any DELETEs/REPLACEs/UPDATEs, the records will happen to be in the insertion order, hence what you observed.

大致意思為,一個(gè)myisam引擎表在沒有任何的刪除,修改操作下,執(zhí)行 select 不帶order by,那么會(huì)按照插入順序進(jìn)行排序。

If you had done the same statement with an InnoDB table, they would have been delivered in PRIMARY KEY order, not INSERT order. Again, this is an artifact of the underlying implementation, not something to depend on.

對(duì)于innodb引擎表來說,在相同的情況下,select 不帶order by,會(huì)根據(jù)主鍵來排序,從小到大

2、查看數(shù)據(jù)庫(kù)引擎命令:

(1)查看某個(gè)表使用的引擎

show create table ;

(2)查看mysql支持哪些引擎

show engines;

以上為個(gè)人經(jīng)驗(yàn),希望能給大家一個(gè)參考,也希望大家多多支持腳本之家。如有錯(cuò)誤或未考慮完全的地方,望不吝賜教。

您可能感興趣的文章:
  • MySQL對(duì)中文進(jìn)行排序詳解及實(shí)例
  • MySQL按常規(guī)排序、自定義排序和按中文拼音字母排序的方法
  • PHP與MYSQL中UTF8 中文排序示例代碼
  • PHP與MYSQL中UTF8編碼的中文排序?qū)嵗?/li>

標(biāo)簽:吉林 荊州 錦州 滄州 資陽(yáng) 黑河 隨州 甘南

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《Mysql 中文排序規(guī)則說明》,本文關(guān)鍵詞  Mysql,中文,排序,規(guī)則,說明,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無(wú)關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《Mysql 中文排序規(guī)則說明》相關(guān)的同類信息!
  • 本頁(yè)收集關(guān)于Mysql 中文排序規(guī)則說明的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章