SQL 用中文的拼音和筆畫排序

2022-09-01 08:09:09 字數 749 閱讀 2180

城市按拼音排序:

select chinesename from [表名] order by chinesename collate chinese_prc_cs_as_ks_ws asc  

城市按筆劃排序:

select chinesename from [表名] order by chinesename collate chinese_prc_stroke_cs_as_ks_ws   asc  

以上**中gd上除錯通過。 

多說兩句,排序規則名稱由兩部份構成,前半部份是指本排序規則所支援的字符集。

如:chinese_prc_cs_ai_ws 

前半部份:指unicode字符集,chinese_prc_指針對大陸簡體字unicode的排序規則。排序規則的後半部份即字尾含義: 

_bin 二進位制排序 

_ci(cs) 是否區分大小寫,ci不區分,cs區分

_ai(as) 是否區分重音,ai不區分,as區分   

_ki(ks) 是否區分假名型別,ki不區分,ks區分 

_wi(ws) 是否區分寬度 wi不區分,ws區分

區分大小寫:如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。

區分重音:如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項,比較還將重音不同的字母視為不等。

區分假名:如果想讓比較將片假名和平假名日語音節視為不等,請選擇該選項。

區分寬度:如果想讓比較將半形字元和全形字符視為不等,請選擇該選項

按拼音或者筆畫排序你的字串

很多人會很好奇,怎麼資料庫能夠根據拼音排序的?網上能搜到很多自己寫的處理按拼音排序的模組。gb2312的一級漢字確實是按拼音排列的,我們可以簡單的比較它們的編碼,但是二級漢字呢?如果你的程式是使用unicode字串的呢?不用擔心,windows i18n api已經給我們提供了相關的函式來實現這一切...

MySQL常規排序 自定義排序和按中文拼音字母排序

mysql常規排序 自定義排序和按中文拼音字母排序,在實際的sql編寫時,我們有時候需要對條件集合進行排序。下面給出3中比較常用的排序方式,mark一下 asc 正序 desc倒敘 此處不用多講 自定義排序是根據自己想要的特定字串 數字 順序進行排序。主要是使用函式 field str,str1,s...

獲取中文拼音首字母的SQL函式

create function dbo f getpy str nvarchar 4000 returns nvarchar 4000 asbegin declare word nchar 1 py nvarchar 4000 set py while len str 0 begin set wor...