我的问题非常简单:我有一个字符串数组。在Java中对它进行排序得到一种顺序,在Sql Server 2005中得到略微不同的顺序。我注意到一个不同之处是在两个字符串的情况下:"jyl; pagespro","jyl",Java按照这个顺序排序,而Sql按照相反的顺序排序。
我尝试使用Sql Server中的ascii(myColumn)进行排序,但仍然没有效果。我该如何解决这个问题?
在DaveE的回答基础上,如果你已经确定了用于排序的排序规则,就可以在ORDER BY子句中使用它的名称,就像这样:ORDER BY colA COLLATE SQL_Latin1_General_Cp437_CS_AS_KI_WI
。
请注意,这不会使用可能在colA
上定义的索引进行排序。您可以通过使用计算列来解决这个问题。
总的来说,我建议在一个地方进行所有排序:要么在Java中,要么在数据库中,而不是有时在这里有时在那里。这只会导致混乱和复杂性。
ASC
或DESC
。 - Yaqub Ahmad