SQL SERVER 大小寫敏感設置及排序規則詳解

最近操作數據庫查詢時,提示對象名無效,發現是因爲數據庫大小寫敏感導致,可以通過排序規則設置如下:
排序規則名稱由兩部份構成,前半部份是指本排序規則所支持的字符集。     
如:Chinese_PRC_CS_AI_WS      
前半部份:指UNICODE字符集,Chinese_PRC_指針對大陸簡體字UNICODE的排序規則。     
排序規則的後半部份即後綴 含義:      
_BIN 二進制排序      
_CI(CS) 是否區分大小寫,CI不區分,CS區分    (英文字母大小寫) 
_AI(AS) 是否區分重音,AI不區分,AS區分      (某些非英語語言字母上有一撇或捺,就是重音,沒有就不是,如"a"不等同於"á",發音不同)
_KI(KS) 是否區分假名類型,KI不區分,KS區分  (片假名和平假名日語音節)   
_WI(WS) 是否區分寬度 WI不區分,WS區分      (半角全角字符) 

修改排序規則     
如果是數據庫:ALTER DATABASE 數據庫名 COLLATE 排列規則     
ALTER DATABASE test COLLATE Chinese_PRC_CI_AI    
如果是表中的字段:ALTER TABLE 表名 ALTER COLUMN 字段名 數據類型(長度) COLLATE 排列規則     
ALTER TABLE test ALTER COLUMN name varchar(10) COLLATE Chinese_PRC_CI_AI

使用企業管理器可視化窗口設置也很簡單:
數據庫:打開數據庫屬性- 選擇 選項 - 排序規則 修改
數據表:打開數據表設計表-列屬性 -排序規則 修改

在SQL語句查詢,默認select * from table where column1 = ' xx ' 不區分大小寫
collate 選擇排序,可用在查詢區分大小寫上,例:
select * from table where column1 collate Chinese_PRC_CS_AS= 'xx'
select * from table where column1 collate Chinese_PRC_CS_AS like 'a%'

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