簡體   English   中英

如何確定SQL 2005中數據庫的排序規則?

[英]How do I determine the collation of a database in SQL 2005?

例如,如果需要執行不區分大小寫的搜索/替換,如何確定SQL 2005中數據庫的排序規則?

使用以下SQL確定數據庫的排序規則:

SELECT DATABASEPROPERTYEX('{database name}', 'Collation') SQLCollation;

請記住,各個列可以覆蓋數據庫排序規則:

SELECT TABLE_NAME, COLUMN_NAME, COLLATION_NAME
FROM INFORMATION_SCHEMA.COLUMNS

如果要進行不區分大小寫的搜索並且不能依賴數據庫的排序規則,則始終可以針對您感興趣的查詢專門請求它。例如:

SELECT TOP 1 FName, *
FROM People
WHERE FName LIKE '%mich%' COLLATE Latin1_General_CI_AI

我通常遇到相反的問題,我想要區分大小寫,但在數據庫的排序規則中沒有區分大小寫,因此我發現自己在查詢中經常使用Latin1_General_BIN排序規則。 如果您還不知道,可以執行以下操作:

SELECT 
FROM ::fn_helpcollations()

以獲得可用的排序規則列表以及它們的用途說明。

選擇數據庫並運行以下命令。

sp_helpsort

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM