在資料庫上按滑鼠右鍵--> 內容 ...
在[一般]頁籤的最下方,即可看到此資料庫的 定序名稱...
定序名稱 可分解為:
使用語言字串
[_指定大寫]
[_是否指定大小寫]
[_是否區分腔調字]
[_二進位排序]
[_指定大寫] ==> 若加上 _Pref 即表示指定大寫,未加則不指定。
[_是否指定大小寫] ==> _CI 指定不分大小寫,_CS 指定區分大小寫。
[_是否區分腔調字] ==> _AI 指定不分腔調字,_AS 指定區分腔調字。
[_二進位排序] ==> 若加上 _BIN 即表示以二進位排序,未加則不指定。
舉例來說:
Chinese_Taiwan_Sroke_CI_AS <== 表示以繁體中文,不分大小寫,區分腔調字
Chinese_Taiwan_Sroke_CS <== 表示以繁體中文,要區分大小寫
參考
http://cp0501.blogspot.com/2007_11_01_archive.html
定序的分類
Case sensitivity(CS)
簡單來說就是區分大小寫,A跟a是不同的,如果是Case Insensitive(CI)的話A在排序或者查詢時就會被視為相同,也就是查詢A,連同a也會被查詢到。
Accent sensitivity(AS)
代表的是腔調上的差別,a跟á、o跟ó在腔調上是相同的,那查詢時是要視為相同,如果是的話,那就是Accent Insensitive(AI),如果不是的話就視為Accent sensitive。
Kana Sensitivity(KS)
日文中的片假名(Hiragana)與平假名(Katakana)如果被視為相同,那就是Kana Insensitive(KI),反之就是Kane sensitive。
Width sensitivity(WS)
當半形字與全型自被視為相同(A跟A),那就是Width Insensitive(WI),反之就是Width sensitive。
其中的BIN跟BIN2是我們前面沒提到的,這兩個定序是比較特別的,與前方提到的各種Sensitive或者Insensitive的定序是有所差異的,這種定序的執行效率比其它定序來的好,針對非unicode的資料,它是自動以ANSI Code來做為排序與比較的依據(CI、AI、KI、WI),而針對unicode資料,它則是以Unicode做為排序與比較的依據,而一旦以Unicode作為排序依據,Latin_1_General_BIN跟Japanese_BIN這兩種定序查詢回來的資料將會一模一樣,因為當資料都是非unicode時,都以ANSI Code來處理;當資料都是unicode時,就以Unicode來處理,而也因為以上特性,目前大部分的系統也習慣將資料庫的定序設定為BIN結尾的。
以下是一些我們常見到的定序結尾,C、A、K、S類的定序是可以複合被使用的,但只有BIN類的是無法結合C、A、K、S的定序被使用,這也是因為上一段中提到的BIN類定序是ANSI或Unicode來做排序與比較的原則而來。
定序的層級
我們在SQL Server中可以在以下四個定序設定等級,我們分別可以透過SSMS或SQL Expression在伺服器、資料庫、Table的欄位上指定定序:
Server
安裝時,SQL Server會要求你指定所想要的預設定序,而系統資料庫與後續新建的資料庫都會以這個定序為預設值,若後續要修改可以參考(因為要re-install原諒我無法測試):
Setting and Changing the Server Collation
Database
針對某個特定資料庫設定其定序,除了使用SSMS的介面變更外,也可以透過Alter Database指令來變更:ALTER DATABASE
Column
針對某個欄位設定其定序,除了使用SSMS的介面變更外,也可以透過Alter Table的指令來變更: Setting and Changing the Column Collation
例:Alter Table myTable Alter Column myColumn Nvarchar(10) Collate Chinese_Taiwan_Stroke_CI_AS
Expression
這部分的定序指定是在command透過collation的關鍵字來暫時複寫掉上面三個已經設定好的定序內容,相關用法可以參考:
COLLATE (Transact-SQL)
例:select * from MYTable Order by myColumn Collate Chinese_Taiwan_Stroke_CI_AS
參考
http://www.dotblogs.com.tw/jimmyyu/archive/2009/08/30/10320.aspx
可參考
http://msdn.microsoft.com/zh-tw/library/ms143515.aspx
2011年6月15日 星期三
訂閱:
張貼留言 (Atom)
使用 DiskSpd 測試磁碟效能
DiskSpd 是微軟創建的命令行磁碟測試工具。它結合了強大的IO工作負載定義來測量磁碟效能。由於它支援自由配置和調整參數,使其成為存儲效能測試、驗證和基準測試的理想工具。 步驟 1. 從 GitHub (說明) https://github.com/Microsoft/di...
-
有時因距離與時間問題,需要用Windows遠端連線,而在連線後, 於登入畫面,輸入了帳號、密碼,卻出現: 登入失敗:使用者帳戶限制。可能原因為不允許空的密碼,登入時數限制,或強制的原則限制。 找到以下方式解除方式,得以順利運行遠端連線問題。 方法1 1. [開始]>[執行...
-
---------------- 管理者操作 ---------------- USE master; GO --將資料庫 AdventureWorks 更改為單一使用者模式 ALTER DATABASE AdventureWorks SET SINGLE_USER...
-
想要打開安全性設定就會跳出這個訊息 點了尋找應用程式 store也沒有顯示東西可以下載 解決方法 開始→"Windows PowerShell(I)(管理員)(A )」→輸入: (WIndows11中可能顯示Windows 終端(管理員)) sfc /SCANNOW (...
沒有留言:
張貼留言