我可以通过以下查询获得所有排序规则:
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或任何方式获取相关的默认排序规则?