在資料庫上按滑鼠右鍵--> 內容 ...
在[一般]頁籤的最下方,即可看到此資料庫的 定序名稱...
定序名稱 可分解為:
使用語言字串
[_指定大寫]
[_是否指定大小寫]
[_是否區分腔調字]
[_二進位排序]
[_指定大寫] ==> 若加上 _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)
Win10新增ㄅ半注音輸入法
SETP 1 下載並新增ㄅ半的登錄檔 先到 Mega雲端空間 下載檔案。 SETP 2 點兩下開啟【微軟ㄅ半注音.reg】 SETP3 新增ㄅ半設定 這時候點右下角的「ㄅ」可以看到有兩個ㄅ的微軟注音,仔細看可以發現兩個ㄅ有些微的不同,上面那個ㄅ的圖案是完全正方形(新注音),而下面...
-
有時因距離與時間問題,需要用Windows遠端連線,而在連線後, 於登入畫面,輸入了帳號、密碼,卻出現: 登入失敗:使用者帳戶限制。可能原因為不允許空的密碼,登入時數限制,或強制的原則限制。 找到以下方式解除方式,得以順利運行遠端連線問題。 方法1 1. [開始]>[執行...
-
---------------- 管理者操作 ---------------- USE master; GO --將資料庫 AdventureWorks 更改為單一使用者模式 ALTER DATABASE AdventureWorks SET SINGLE_USER...
-
Win10升級之後,很多xp的電腦都不能連上win10的網路芳鄰,找了很多資料都在說是權限問題,後來發現原來是另一個問題。 原來是官方認為 SMB 1.0有安全性的問題,因此只要重新啟用它就可。 1.首先要有系統管理員權限的命令提示字元底下輸入 sc.exe co...
沒有留言:
張貼留言