posts - 0, comments - 77, trackbacks - 0, articles - 356
            BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

          collate chinese_prc_ci_as

          Posted on 2007-08-04 08:59 semovy 閱讀(404) 評論(0)  編輯  收藏 所屬分類: 數據庫方面MS SQLServer方面

          我們在create table時經常會碰到這樣的語句,例如:CityName nvarchar(10)collate chinese_prc_ci_as null,那它到底是什么意思呢?不妨看看下面:

          首先,collate是一個子句,可應用于數據庫定義或列定義以定義排序規則,或應用于字符串表達式以應用排序規則投影。

          語法是collate collation_name

          collation_name ::={windows_collation_name}|{sql_collation_name}

          參數collate_name是應用于表達式、列定義或數據庫定義的排序規則的名稱。collation_name 可以只是指定的 Windows_collation_name SQL_collation_name

          Windows_collation_name Windows 排序規則的排序規則名稱。參見 Windows 排序規則名稱。
          SQL_collation_name
          SQL 排序規則的排序規則名稱。參見 SQL 排序規則名稱。 

          下面簡單介紹一下排序規則:

          什么叫排序規則呢?MS是這樣描述的:" Microsoft SQL Server 2000 中,
          字符串的物理存儲由排序規則控制。排序規則指定表示每個字符的位模式以及存
          儲和比較字符所使用的規則。"
            在查詢分析器內執行下面語句,可以得到SQL SERVER支持的所有排序規則。

              select * from ::fn_helpcollations()

          排序規則名稱由兩部份構成,前半部份是指本排序規則所支持的字符集。
          如:
            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區分 

          區分大小寫:如果想讓比較將大寫字母和小寫字母視為不等,請選擇該選項。
          區分重音:如果想讓比較將重音和非重音字母視為不等,請選擇該選項。如果選擇該選項,
                  
          比較還將重音不同的字母視為不等。
          區分假名:如果想讓比較將片假名和平假名日語音節視為不等,請選擇該選項。
          區分寬度:如果想讓比較將半角字符和全角字符視為不等,請選擇該選項

          主站蜘蛛池模板: 南城县| 长泰县| 沈阳市| 鸡泽县| 绩溪县| 津市市| 红原县| 临安市| 夹江县| 汉寿县| 资中县| 宁化县| 洞口县| 杨浦区| 延庆县| 天门市| 西平县| 深水埗区| 达孜县| 尼勒克县| 谢通门县| 西乌珠穆沁旗| 明光市| 拜城县| 澄迈县| 永平县| 花莲市| 长海县| 慈溪市| 漳平市| 曲阜市| 鲁甸县| 舟曲县| 台东市| 宜兰市| 德江县| 名山县| 漳浦县| 安新县| 贵阳市| 郑州市|