共用方式為


定序類型

SQL Server 2005 有兩組定序:Windows 定序與 SQL 定序。

Windows 定序

Windows 定序是為了讓 SQL Server 支援 Windows 地區設定而定義的定序。如需這些定序的清單,請參閱<安裝程式中的定序設定>。藉由為 SQL Server 指定 Windows 定序,SQL Server 執行個體所使用的字碼頁以及排序與比較規則,會與在指定相關 Windows 地區設定的電腦上執行的應用程式一樣。例如,SQL Server 的法語 Windows 定序就符合 Windows 法語地區設定的定序屬性。

Windows 地區設定多於 SQL Server Windows 定序。Windows 地區設定的名稱是以語言與地域為基礎,例如法語 (加拿大)。但有幾種語言會在排序與比較字元方面共用相同的字母與規則。例如,有 33 個 Windows 地區設定 (包含所有的葡萄牙文與英文 Windows 地區設定) 都使用 Latin1 字碼頁 (1252),並遵循一組共同的排序與比較字元規則。以 Latin1_General 字碼頁與排序規則為基礎的 SQL Server Windows 定序,支援這 33 個 Windows 地區設定。

此外,Windows 地區設定還會指定一些 SQL Server Windows 定序未涵蓋的屬性,如貨幣、日期和時間格式。因為像是英國與美國等國家和地區會使用不同的貨幣、日期和時間格式,所以需要不同的 Windows 定序。不過,因為他們在排序與比較字元方面會使用相同的字母與規則,所以不需要不同的 SQL Server 定序。

在 SQL Server 中,Windows 定序會加上一連串的後置詞,以便根據大小寫、腔調字、假名及全半形等區分另行定義排序與比較規則。如需有關這些後置詞的詳細資訊,請參閱<Windows 定序排序樣式>。

SQL 定序

SQL 定序是一種相容性選項,可對應舊版 SQL Server 所指定之字碼頁編號與排序次序一般組合的屬性。這些定序大多支援適用於大小寫、腔調字、假名及全半形等區分的後置詞,但也有例外。如需詳細資訊,請參閱<使用 SQL 定序>。

在 SQL Server 2005 中,應以使用 Windows 定序為主。在資料庫中混用 Unicode 與非 Unicode 資料行時,尤其如此。Windows 定序實際上可將 Unicode 式的排序規則套用到 Unicode 與非 Unicode 的資料。這表示 SQL Server 會在內部將非 Unicode 資料轉換為 Unicode,以執行比較作業。如此可讓 SQL Server 中的各種資料類型取得一致性,並讓開發人員能夠在使用規則與 SQL Server 相同的應用程式中排序字串。

另一方面,SQL 定序會使用 Unicode 資料的對應 Windows 定序,將非 Unicode 排序規則套用到非 Unicode 資料上,並將 Unicode 排序規則套用到 Unicode 資料上。這種差異會導致相同字元的比較結果不一致。因此,如果您在資料庫中混用 Unicode 與非 Unicode 資料行,即應使用 Windows 定序全數加以定義,讓 Unicode 與非 Unicode 資料都使用相同的排序規則。

除非是為了維護與現有舊版 SQL Server 執行個體的相容性,或是為了維護使用舊版 SQL Server 的 SQL 定序開發之應用程式的相容性,否則不應使用 SQL 定序。

Windows 定序與 SQL 定序的效能可能會有差異。如需詳細資訊,請參閱<Unicode 的儲存和效能效果>。

請參閱

概念

使用定序

說明及資訊

取得 SQL Server 2005 協助