SQL Server / Oracle字符串排序问题

时间:2019-06-28 01:46:45

标签: sql-server oracle sql-order-by oracle12c

我注意到SQL Server(2014)和Oracle(12c)中的orderby处理之间的区别。关于下面的屏幕快照/查询,看来Oracle和SQL Server处理单引号字符'的方式有所不同。由于引号的ASCII值为39,小于“ A”的ASCII值65,因此在我看来Oracle在做正确的事。

QN:在排序结果时,如何使SQL Server的行为与Oracle相同,反之亦然

SQL Server查询:

select * 
from MyTable
order by ASSEMBLY_DESCRIPTION

SQL Server结果:

enter image description here

Oracle查询:

select * 
from MyTable
order by ASSEMBLY_DESCRIPTION

Oracle结果:

enter image description here

1 个答案:

答案 0 :(得分:0)

按照Dale的要求,检查数据库使用的排序规则。查找与您所需的输出顺序匹配的一个,然后在ORDER BY上进行设置。例如

order by column_name COLLATE Latin1_General_CS_AS

此外,如果使用Unicode,则标准会指定某些可以发挥作用的排序规则。另一种选择是只接受每种产品产生的排序顺序。