【发布时间】:2011-10-17 05:51:02
【问题描述】:
我使用的是 SQL Server 2008 R2。
我有一个从数据库中检索到的数据缓存,目前获取字符串的方法是通过map.get()。但是,代码的某些部分直接从数据库查询,而不是仅使用缓存,因为这些情况需要一些连接。现在的问题是,表上的 collation 导致通过 SQL 比较(使用表排序规则)进行文本比较和通过 Java 使用 map.get() 进行文本比较之间存在不同的行为。
我已经阅读了java.text.Collator,但它需要使用collator.Compare 才能正确使用。有没有办法强制地图使用固定的Collator。
顺便说一下,这种情况下的排序规则是使用日文字符,在 SQL Server 中比较时,半角和全角日文是相同的。
【问题讨论】:
标签: java sql sql-server-2008 collation