按汉字首字母排序(sql语句)
在sql server中可以直接通過SQL語句實現按漢字首字母排序,比如我們經常用到的"按姓名首字母排序"
--把tableName和colName換成自己的就ok了
--按拼音
ALTER TABLE tableName
ALTER COLUMN colName nvarchar(100) COLLATE Chinese_PRC_CI_AS
select *from tableName order by colName
--按筆畫
ALTER TABLE tableName
ALTER COLUMN colName nvarchar(100) COLLATE Chinese_PRC_Stroke_CI_AS
select *from tableName order by colName
說明:
ALTER:修改表
collate:是一個子句,可應用于數據庫定義或列定義以定義排序規則,或應用于字符串表達式以應用排序規則投影。
Chinese_PRC_CI_AS:一種SQL排序規則
下面簡單介紹一下排序規則: 
什么叫排序規則呢?MS是這樣描述的: "在 SQL Server 中,
字符串的物理存儲由排序規則控制。排序規則指定表示每個字符的位模式以及存 
儲和比較字符所使用的規則。
  在查詢分析器內執行下面語句,可以得到SQL SERVER支持的所有排序規則。 
    select * from ::fn_helpcollations() //sql server 有1011種排序規則
排序規則名稱由兩部份構成,前半部份是指本排序規則所支持的字符集。
如:
  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區分
區分大小寫:如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。
區分重音:如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項,
比較還將重音不同的字母視為不等。
區分假名:如果想讓比較將片假名和平假名日語音節視為不等,請選擇該選項。
區分寬度:如果想讓比較將半角字符和全角字符視為不等,請選擇該選項。
擴展閱讀:C#獲取漢字首字母
轉載于:https://www.cnblogs.com/liaojunbo/archive/2008/12/08/1354842.html
與50位技術專家面對面20年技術見證,附贈技術全景圖總結
以上是生活随笔為你收集整理的按汉字首字母排序(sql语句)的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: css中实现div的显示和隐藏
- 下一篇: 实用网址大全
