最近操作數據庫查詢時,提示對象名無效,發現是因爲數據庫大小寫敏感導致,可以通過排序規則設置如下:
排序規則名稱由兩部份構成,前半部份是指本排序規則所支持的字符集。
如: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%'