數據庫排序規則(Collate):Chinese_PRC_CI_AS

數據庫的排序規則是個頭疼的話題,常見使用的地方:

1.安裝數據指定

2.建立數據庫指定

3.建表指定

4.查詢語句指定。

一般1.安裝時候指定,一定要指定對,中文版和英文版是不一樣的。2.生產服務器和測試服務器服務器數據庫版本不一,考慮影響,考慮面向使用的用戶,以及現有數據的字符集。3.查詢語句也要指定,如果字符集不一樣,必須強制指定同一種,語句才能執行。遇到過在一些連接條件的時候必須知道一種字符集纔能有效 否則會提示字符集不統一還有就是數據庫導入,從一個庫的一個表到另外一個庫的一個表,如果字符集不一樣,是到不過去,比如用SSIS 一般是varchar 字段報錯,在select 語句中用函數convert一下,在目標中換成nvarchar。

區別看建表語句:

CREATE TABLE [dbo].[excel_read]
(
[id] [int] NULL,
[name] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL
) ON [PRIMARY]
GO


INSERT INTO dbo.excel_read
        ( id, name )
VALUES  ( 0, -- id - int
          N'EXCEL'  -- name - nvarchar(100)
          )
         
          INSERT INTO dbo.excel_read
        ( id, name )
VALUES  ( 0, -- id - int
          N'excel'  -- name - nvarchar(100)
          )
SELECT *  FROM excel_read WHERE name='Excel'

 

對於[name] [nvarchar] (100) COLLATE Chinese_PRC_CI_AS NULL

Chinese_PRC:

prc(PRC),即中華人民共和國 的英語縮寫(The People's Republic of China)。

CI:i ignore 忽略  C 是鍵盤上大寫。

對於大小寫就有2種可能

對於Chinese_PRC_CI_AS忽略大小寫

對於不忽略大小寫  查詢的結果就不一定。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章