成人性生交大片免费看视频r_亚洲综合极品香蕉久久网_在线视频免费观看一区_亚洲精品亚洲人成人网在线播放_国产精品毛片av_久久久久国产精品www_亚洲国产一区二区三区在线播_日韩一区二区三区四区区区_亚洲精品国产无套在线观_国产免费www

主頁 > 知識(shí)庫 > PostgreSQL的中文拼音排序案例

PostgreSQL的中文拼音排序案例

熱門標(biāo)簽:電話機(jī)器人怎么換人工座席 天津開發(fā)區(qū)地圖標(biāo)注app 濟(jì)南外呼網(wǎng)絡(luò)電話線路 廣州電銷機(jī)器人公司招聘 地圖標(biāo)注要花多少錢 移動(dòng)外呼系統(tǒng)模擬題 江蘇400電話辦理官方 400電話申請(qǐng)客服 電銷機(jī)器人能補(bǔ)救房產(chǎn)中介嗎

前一段時(shí)間開發(fā)人員咨詢,說postgresql里面想根據(jù)一個(gè)字段做中文的拼音排序,但是不得其解

環(huán)境:

OS:CentOS 6.3

DB:PostgreSQL 9.2.4

TABLE: tbl_kenyon

場(chǎng)景:

postgres=# \d tbl_kenyon 
  Table "public.tbl_kenyon"
 Column | Type |  Modifiers  
--------+------+---------------
 vname | text |

--使用排序后的結(jié)果,不是很理想

postgres=# select vname from tbl_kenyon order by vname;
 vname 
-------
 上海
 北京
 杭州
 浙江
(4 rows)

說明:

postgresql的排序除了受到數(shù)據(jù)庫的編碼影響外,還有一個(gè)初始化參數(shù)是locale也會(huì)影響(initdb),,通常我的選擇是C,這可以讓postgres數(shù)據(jù)庫通過strcmp()這個(gè)函數(shù)來比較字符串,而不是strcoll()函數(shù)。

這個(gè)參數(shù)可以在數(shù)據(jù)庫里查看,如

postgres=# \l
                List of databases
   Name    | Owner  | Encoding | Collate | Ctype |  Access privileges  
-----------------+----------+----------+---------+-------+-----------------------
 dkenyon     | u_kenyon | UTF8   | C    | C   | 
 postgres    | postgres | UTF8   | C    | C   | 
 template0    | postgres | UTF8   | C    | C   | =c/postgres     +
         |     |     |     |    | postgres=CTc/postgres
 template1    | postgres | UTF8   | C    | C   | =c/postgres     +
         |     |     |     |    | postgres=CTc/postgres
(6 rows)

--簡(jiǎn)體中文在系統(tǒng)表里的支持

postgres=# select collname,collcollate,collctype,b.nspname,c.rolname as collowner 
postgres-# from pg_collation a,pg_namespace b,pg_authid c 
postgres-# where a.collnamespace = b.oid and a.collowner = c.oid and lower(collname) like '%zh_cn%';
  collname  | collcollate | collctype  | nspname  | collowner 
--------------+--------------+--------------+------------+-----------
 zh_CN    | zh_CN    | zh_CN    | pg_catalog | postgres
 zh_CN    | zh_CN.utf8  | zh_CN.utf8  | pg_catalog | postgres
 zh_CN.gb2312 | zh_CN.gb2312 | zh_CN.gb2312 | pg_catalog | postgres
 zh_CN.utf8  | zh_CN.utf8  | zh_CN.utf8  | pg_catalog | postgres
(4 rows)

因?yàn)槌跏蓟瘯r(shí)選擇的locale是C,所以數(shù)據(jù)庫的默認(rèn)排序也是C,要想字段內(nèi)容按照中文拼音排序,需要將UTF8格式存儲(chǔ)的內(nèi)容轉(zhuǎn)換為GBK方式。

解決辦法:

1.轉(zhuǎn)換字段的方式,加個(gè)convert_to前綴函數(shù)

postgres=# select vname from tbl_kenyon order by convert_to(vname,'GBK');
 vname 
 
-------
 北京
 杭州
 上海
 浙江
(4 rows)

--convert_to函數(shù)輸入?yún)?shù)是text形式,輸出編碼是bytea形式,是將字符轉(zhuǎn)換為目標(biāo)編碼的函數(shù),如

postgres=# select convert_to('浙江','UTF8'),('浙江','GBK');
  convert_to  |  row   
----------------+------------
 \xe6b599e6b19f | (浙江,GBK)
(1 row)

2.列指定zh_cn的方式存儲(chǔ)

postgres=# alter table tbl_kenyon add cname text collate "zh_CN";
ALTER TABLE
postgres=# \d tbl_kenyon 
  Table "public.tbl_kenyon"
 Column | Type |  Modifiers  
--------+------+---------------
 vname | text | 
 cname | text | collate zh_CN
postgres=# select * from tbl_kenyon;
 vname | cname 
-------+-------
 浙江 | 浙江
 杭州 | 杭州
 上海 | 上海
 北京 | 北京
(4 rows)
postgres=# select * from tbl_kenyon order by vname;
 vname | cname 
-------+-------
 上海 | 上海
 北京 | 北京
 杭州 | 杭州
 浙江 | 浙江
(4 rows)
postgres=# select * from tbl_kenyon order by cname;
 vname | cname 
-------+-------
 北京 | 北京
 杭州 | 杭州
 上海 | 上海
 浙江 | 浙江
(4 rows)

3.查詢時(shí)指定collate

postgres=# select * from tbl_kenyon order by vname collate "C";
 vname | cname 
-------+-------
 上海 | 上海
 北京 | 北京
 杭州 | 杭州
 浙江 | 浙江
(4 rows)
postgres=# select * from tbl_kenyon order by vname collate "zh_CN";
 vname | cname 
-------+-------
 北京 | 北京
 杭州 | 杭州
 上海 | 上海
 浙江 | 浙江
(4 rows)

其他問題:

1.在用了方法一的convert_to函數(shù)轉(zhuǎn)換一段時(shí)間后,開發(fā)告訴我說有異常,報(bào)錯(cuò) character with byte sequence 0xc2 0xae in encoding "UTF8" has no equivalent in encoding "GBK"

Error querying database. Cause: org.postgresql.util.PSQLException: ERROR: character with byte sequence 0xc2 0xae in
 encoding "UTF8" has no equivalent in encoding "GBK"

排查了一下,發(fā)現(xiàn)數(shù)據(jù)庫里存了一些比較奇怪的字符導(dǎo)致的,比如Mirclereg; city,niwhitereg;town。后對(duì)該表重建了一下,用方法二解決,所以convert_to函數(shù)使用對(duì)一些奇怪的字符轉(zhuǎn)換時(shí)需要注意。

2.對(duì)于多音字,仍然會(huì)產(chǎn)生一定的歧義,比如重慶,會(huì)按Z去排序

上述辦法能滿足大部分漢字的拼音排序,但仍有一些不足。比較理想的解決辦法是對(duì)這類基礎(chǔ)數(shù)據(jù)錄入時(shí)就指定拼音規(guī)則,或者數(shù)據(jù)庫里存一份數(shù)據(jù)的拼音字典來關(guān)聯(lián)使用。

其他:

使用zh_cn存儲(chǔ)時(shí)測(cè)試字段大小,未測(cè)試取值速度

postgres=# insert into tbl_kenyon select repeat('浙江GDOOASASHOME愛你',5000), repeat('浙江GDOOASASHOME愛你',5000) ;
INSERT 0 1
postgres=# insert into tbl_kenyon select repeat('浙江GDOOASASHOME愛你',50000), repeat('浙江GDOOASASHOME愛你',50000) ;
INSERT 0 1
postgres=# insert into tbl_kenyon select repeat('浙江GDOOASASHOME愛你',100000), repeat('浙江GDOOASASHOME愛你',100000) ;
INSERT 0 1
postgres=# select pg_column_size(cname),pg_column_size(vname) from tbl_kenyon ;
 pg_column_size | pg_column_size 
----------------+----------------
      1410 |      1406
     13769 |     13769
     27506 |     27506
(3 rows)

存儲(chǔ)差異并不大

補(bǔ)充

#高版本可能不支持,或者語法不對(duì)?
select * from store order by storename collate 'zh_CN';

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

您可能感興趣的文章:
  • PostGreSql 判斷字符串中是否有中文的案例
  • 自定義函數(shù)實(shí)現(xiàn)單詞排序并運(yùn)用于PostgreSQL(實(shí)現(xiàn)代碼)
  • PostgreSQL將數(shù)據(jù)加載到buffer cache中操作方法
  • 在PostgreSQL中使用ltree處理層次結(jié)構(gòu)數(shù)據(jù)的方法
  • postgresql 中的時(shí)間處理小技巧(推薦)
  • Postgresql限制用戶登錄錯(cuò)誤次數(shù)的實(shí)例代碼
  • PostgreSQL用戶登錄失敗自動(dòng)鎖定的處理方案
  • postgresql影子用戶實(shí)踐場(chǎng)景分析
  • 如何使用PostgreSQL進(jìn)行中文全文檢索

標(biāo)簽:海西 昭通 榆林 辛集 溫州 杭州 寶雞 濮陽

巨人網(wǎng)絡(luò)通訊聲明:本文標(biāo)題《PostgreSQL的中文拼音排序案例》,本文關(guān)鍵詞  PostgreSQL,的,中文,拼音,排序,;如發(fā)現(xiàn)本文內(nèi)容存在版權(quán)問題,煩請(qǐng)?zhí)峁┫嚓P(guān)信息告之我們,我們將及時(shí)溝通與處理。本站內(nèi)容系統(tǒng)采集于網(wǎng)絡(luò),涉及言論、版權(quán)與本站無關(guān)。
  • 相關(guān)文章
  • 下面列出與本文章《PostgreSQL的中文拼音排序案例》相關(guān)的同類信息!
  • 本頁收集關(guān)于PostgreSQL的中文拼音排序案例的相關(guān)信息資訊供網(wǎng)民參考!
  • 推薦文章
    99精品视频免费看| 亚洲激情网址| 最新天堂在线视频| 日本中文字幕一区二区有限公司| 动漫3d精品一区二区三区乱码| 一区二区成人精品| 日韩一区二区三区免费播放| 日韩三级在线免费观看| 天天操天天插天天射| 国产亚洲精品网站| 国产精品一二三四五区| 亚洲韩国日本中文字幕| 日韩黄色视屏| 亚洲 欧美 日韩 综合| 毛片网站在线免费观看| 欧美日韩成人精品| 激情综合网天天干| 日本少妇毛茸茸| 欧美亚洲专区| 日本精品裸体写真集在线观看| 亚洲高清视频的网址| 三妻四妾完整版在线观看电视剧| 性xxxx奶大欧美高清| 久久精品夜色噜噜亚洲a∨| 日韩久久久久久久久久| 日本不卡一区二区三区| 欧美综合欧美视频| 神马久久桃色视频| 免费成年人视频在线观看| 四虎国产成人精品免费一女五男| 成人免费视频caoporn| 性欧美hd调教| 欧美大片拔萝卜| 麻豆精品新av中文字幕| 国产永久精品大片wwwapp| 国产精品久久久久久久免费| 成人av资源网址| 99免费观看视频| 国产精品99精品无码视| 无码人妻av免费一区二区三区| 国产91色在线免费| 日韩综合视频在线观看| 亚洲在线日韩| 国产精品嫩草影院久久久| 黄色a级片免费| 综合免费一区二区三区| 先锋影音男人资源| 精品欧美国产一区二区三区不卡| 99re66热这里只有精品3直播| 隣の若妻さん波多野结衣| 91成人精品在线| 一区在线播放| 欧美亚洲免费在线| 亚洲精品免费一区亚洲精品免费精品一区| 天天色天天综合网| 国产黄色片免费| 91肉色超薄丝袜脚交一区二区| 国产精品久久久久久久久免费看| 91亚洲国产成人精品一区| 国产在线视视频有精品| 国产黄a三级三级看三级| 捆绑紧缚一区二区三区视频| 欧美xxx在线| 午夜免费在线观看精品视频| 亚洲天堂二区| 中文字幕亚洲欧美日韩在线不卡| 日本一区二区三区视频视频| 日韩不卡一二三区| 精品亚洲一区二区三区四区五区高| 中日韩av在线| 日韩免费视频| 香港经典三级在线| 日本中文字幕在线免费观看| 男人在线视频资源| 国产三级黄色片| 亚洲色图国产| 日本免费一区二区三区视频观看| 涩涩涩久久久成人精品| h视频免费观看| 日韩av在线导航| 国产一区二区三区久久精品| 一日本道久久久精品国产| 精品香蕉一区二区三区| 精品人妻伦一二三区久| 夜夜嗨av一区二区三区网页| 中文字幕一区二区三| 日韩avxxx| 亚洲精品蜜桃久久久久久| 亚洲一二三四2021不卡| 97视频免费看| 日韩精品中文在线观看| 日韩精品一区二区亚洲av性色| 欧美三级午夜理伦三级小说| 国产午夜无码视频在线观看| 精品一区二区三区在线视频| 国产精品aaaa| 99精品国产99久久久久久福利| 免费在线观看国产黄| 国产精品啊v在线| 涩涩av在线| 妞干网福利视频| 奇米影视一区二区三区| 蜜桃传媒视频麻豆一区| 国产视频精品免费播放| 国产宾馆实践打屁股91| 青青草av网站| 337p日本欧洲亚洲大胆色噜噜| 性欧美大战久久久久久久免费观看| 成人免费看视频网站| av色图一区| 欧美探花视频资源| 欧美人妇做爰xxxⅹ性高电影| 一个人免费观看日本www视频| 黄瓜视频污在线观看| 涩涩视频在线观看| 91av网站在线播放| 欧洲精品视频在线| 国产一卡2卡3卡免费网站| 免费观看黄色一级视频| 色综合视频在线观看| 久久中文字幕在线| 欧美在线播放高清精品| 欧美大尺度激情区在线播放| 成人两性免费视频| 中文字幕大看焦在线看| av中文字幕不卡| 日韩精品一区二区不卡| 久久精品99久久久| av在线电影观看| 国产一区二区三区四区五区六区| 久久久久久国产精品视频| 亚洲a级在线播放观看| 色婷婷综合久久久久久| 欧美理论影院| 午夜视频精品| 日本免费a视频| 欧美专区一区二区三区| 怡红院男人天堂| 色18美女社区| 麻豆视频在线观看免费网站黄| 亚洲午夜在线播放| 视频一区视频二区中文| 麻豆91在线播放免费| 黄动漫视频高清在线| 可以直接看的无码av| 久草在线在线精品观看| 日日骚av一区二区| 亚洲 小说 欧美 激情 另类| 欧美精品激情在线| 亚洲女人天堂视频| 91网址在线播放| 亚洲巨乳在线观看| 深爱五月综合网| 久久精品九九| 男人天堂亚洲二区| 97视频在线观看免费高清完整版在线观看| 免费人成年激情视频在线观看| 亚洲最新永久在线观看| 日韩精品一区二区亚洲av| 不卡一区2区| 欧美日韩在线直播| 精品欧美一区二区久久| 亚洲美女精品成人在线视频| 欧美日韩视频免费播放| 国产情侣一区二区| 亚洲亚洲精品三区日韩精品在线视频| 日韩国产高清一区| 色婷婷av一区二区三区大白胸| 久久99久久99小草精品免视看| 很黄的网站在线观看| 一区二区三区视频在线看| 在线一区二区三区视频| 国产亚洲精品网站| 国产精品香蕉av| 欧美96一区二区免费视频| 91久久精品国产91久久| 免费黄色av| 精品久久人人做人人爽| 亚洲永久免费精品| 亚洲一二三四区不卡| 天天做综合网| 亚洲香蕉av在线一区二区三区| 狠狠操狠狠色综合网| 一本色道久久| 秋霞午夜av一区二区三区| www.国产视频| 思思99re6国产在线播放| 国产黄色精品| 国产高清不卡无码视频| 国产精品国产亚洲伊人久久| 九色porny在线| 福利视频一区二区三区| 东京热一区二区三区四区| 亚洲va欧美va天堂v国产综合| 深田えいみ中文字幕99久久| 91精品国产一区二区| 91九色porny视频| 国产 日韩 欧美在线| 一区二区冒白浆视频| 国内av在线播放| 国色天香2019中文字幕在线观看| 五月婷婷丁香在线| 黄色一级片播放| 国产国语性生话播放| av网站无病毒在线| 亚洲伦理一区二区| 最新中文字幕在线观看视频| 正在播放日韩欧美一页| 欧美久久久久久久久| 亚洲日本久久久| www三级免费| 日韩在线免费观看av| 天堂精品一区二区三区| 亚洲国产欧美一区二区丝袜黑人| 精品人妻无码一区二区三区换脸| 精品无人码麻豆乱码1区2区| 亚洲视频色图| 国产精品中文久久久久久| 1区2区3区欧美| 国产欧美日韩中文字幕在线| 中文字幕一区图| 免费福利在线观看| 亚洲精品一区二区三区新线路| 欧美videos大乳护士334| 久久久久久久9| 色婷婷中文字幕| 欧美成人女星排名| 久国产精品视频| 亚洲天堂av图片| 欧美亚洲视频在线看网址| 国产精品成人免费一区久久羞羞| 一本色道88久久加勒比精品| 国产精品av在线| sm一区二区三区| 一个人看的www视频免费在线观看| 91网站免费观看| 欧美极品另类videosde| 国产精品久久久久久久av福利| 亚洲精品**中文毛片| 一区二区三区在线播放| 日本成人中文字幕在线| 亚洲第一在线综合网站| 飘雪影院手机免费高清版在线观看| 黄色在线免费观看大全| 国产激情精品久久久第一区二区| 欧美性猛交xxxx黑人猛交| 日韩一区二区三区资源| 免费激情视频在线观看| 久久久久久久久网| 偷拍一区二区三区| 国内精品久久久久久久果冻传媒| 一本精品一区二区三区| 亚洲成色777777女色窝| 色国产精品一区在线观看| 色爱区成人综合网| 全球最大av网站久久| 亚洲精品在线播放视频| 唐人社导航福利精品| 久久亚洲av午夜福利精品一区| 97久久夜色精品国产九色| 国产亚洲人成网站在线观看| 久久久亚洲精选| 91传媒理伦片在线观看| 欧美有码在线视频| 色一情一乱一伦一区二区三区日本| 啦啦啦免费高清视频在线观看| 日韩中文字幕无砖| 久久久999国产精品| 天天影院图片亚洲| 57pao成人国产永久免费| 精品国产乱码一区二区三| 成视频在线免费观看| 国产精品—色呦呦| 99成人在线观看| 免费在线黄色影片| 精品免费囯产一区二区三区| 夜夜嗨av一区二区三区| 3d成人h动漫网站入口| 91老司机福利 在线| 91精品国产91久久久久久青草| 黄色一级片国产| 青青草社区视频| 中文无码精品一区二区三区| 日韩高清精品免费观看| 亚洲精品视频免费在线观看| 中文字幕在线观看| 亚洲观看高清完整版在线观看| 亚洲国产精品系列| 欧美 日韩 国产 一区二区三区| 亚洲精品国产免费| 精品日韩在线| 自拍偷拍欧美专区| 国产精品av一区二区| 日本中文字幕久久| 久草视频免费在线| 欧美aaaaa级| 亚洲av无码国产精品久久| 欧美黑人乱大交ⅹxxxxx| 蜜桃a∨噜噜一区二区三区| 欧美性xxxx极品高清hd直播| 成人在线电影网站| 欧美成人免费观看视频| 久久国产精品久久久| 日韩理论片一区二区| 国产精品69久久久久| 亚洲国产电影| 久久久久国产精品一区三寸| 日日夜夜亚洲精品| 成年免费视频| 青青青国产在线视频| 成年人免费在线视频| 欧美日韩国内自拍| 嗯~啊~轻一点视频日本在线观看| 国产精品久久久久久精| 亚洲综合在线网站| 日本道不卡免费一区| 92精品国产成人观看免费| 久草免费在线视频观看| 成年女人午夜毛片免费看| 视频一区二区三区在线观看| 亚洲视频在线观看| 成人综合婷婷国产精品久久| 久久出品必属精品| 狠色狠色综合久久| 大桥未久恸哭の女教师| 男女羞羞在线观看| 精品乱人伦一区二区三区| 国产性猛交╳xxx乱大交|