如何通过sql查询或其他Sqlserver方式获得正确的排序规则

时间:2016-03-17 09:05:06

标签: java sql-server collation

我可以通过以下查询获得所有排序规则:

SELECT name, description FROM sys.fn_helpcollations();

Albanian_BIN
Albanian_BIN2
Albanian_CI_AI
Albanian_CI_AI_WS
Albanian_CI_AI_KS
Albanian_CI_AI_KS_WS
Albanian_CI_AS
Albanian_CI_AS_WS
Albanian_CI_AS_KS
Albanian_CI_AS_KS_WS
Albanian_CS_AI
Albanian_CS_AI_WS
Albanian_CS_AI_KS
Albanian_CS_AI_KS_WS
Albanian_CS_AS
Albanian_CS_AS_WS
Albanian_CS_AS_KS
Albanian_CS_AS_KS_WS
Albanian_100_BIN
Albanian_100_BIN2
Albanian_100_CI_AI
Albanian_100_CI_AI_WS
Albanian_100_CI_AI_KS
Albanian_100_CI_AI_KS_WS
Albanian_100_CI_AS
Albanian_100_CI_AS_WS
Albanian_100_CI_AS_KS
Albanian_100_CI_AS_KS_WS
Albanian_100_CS_AI
Albanian_100_CS_AI_WS
Albanian_100_CS_AI_KS
Albanian_100_CS_AI_KS_WS
Albanian_100_CS_AS
Albanian_100_CS_AS_WS
Albanian_100_CS_AS_KS
Albanian_100_CS_AS_KS_WS
Albanian_100_CI_AI_SC
Albanian_100_CI_AI_WS_SC
Albanian_100_CI_AI_KS_SC
Albanian_100_CI_AI_KS_WS_SC
Albanian_100_CI_AS_SC
Albanian_100_CI_AS_WS_SC
Albanian_100_CI_AS_KS_SC
Albanian_100_CI_AS_KS_WS_SC
Albanian_100_CS_AI_SC
Albanian_100_CS_AI_WS_SC
Albanian_100_CS_AI_KS_SC
Albanian_100_CS_AI_KS_WS_SC
Albanian_100_CS_AS_SC
Albanian_100_CS_AS_WS_SC
Albanian_100_CS_AS_KS_SC
Albanian_100_CS_AS_KS_WS_SC
Arabic_BIN
Arabic_BIN2
Arabic_CI_AI
Arabic_CI_AI_WS
Arabic_CI_AI_KS
Arabic_CI_AI_KS_WS
Arabic_CI_AS
...

我发现每个区域设置有多个排序规则

当我们设置sqlserver时,sqlserver可以选择默认排序规则,遵循当前操作系统的语言环境。

所以,我也想知道默认使用哪种排序规则。

例如,当前的语言环境是:

System.out.println(Locale.getDefault().getDisplayCountry());
System.out.println(Locale.getDefault().getDisplayLanguage());
System.out.println(Locale.getDefault().getDisplayName());
System.out.println(Locale.getDefault().getLanguage());

输出:

United States
English
English (United States)
en

现在,在sqlserver安装期间,它将使用" SQL_Latin1_General_CP1_CI_AS"自动,sqlserver如何知道它,映射列表在哪里?

我希望通过某些api或查询sql获取默认排序规则,这类似于sqlserver在安装时获取排序规则。

假设我只能获取操作系统区域设置信息,如何通过java api或windows native api或查询db或任何方式获取相关的默认排序规则?

0 个答案:

没有答案