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

Java 如何通过sql查询或Sqlserver的其他方式获得正确的排序规则,java,sql-server,collation,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 Alba

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

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\u Latin1\u General\u CP1\u CI\u AS”,sqlserver如何知道它,映射列表在哪里

我想通过一些api或查询sql获取默认排序规则,这些api或查询sql与sqlserver类似,在安装时获取排序规则


假设我只能获取操作系统的语言环境信息,那么如何通过java api、windows native api或query db或任何方式获取相关的默认排序规则?

您可以使用下面的查询来获取SQL server排序规则。。从[MSDN][1]中选择SERVERPROPERTY(N'Collation'):SQL Server排序规则设置取决于安装类型。在大多数情况下,计算机运行符合用户语言要求的Windows系统语言环境。因此,SQL Server安装程序会自动检测Windows系统区域设置并选择适当的SQL Server排序规则。为了向后兼容,默认的英语(US)排序规则为SQL\u Latin1\u General*。[1] :当sqlserver获取操作系统区域设置时,它如何获取相关排序规则,我想知道此函数或过程我认为链接中提供的信息包含信息