例如在 Oracle 中
create table test1(Prod_Name varchar2(30))
insert into test1 values('CHANNEL')
insert into test1 values('SHELL')
insert into test1 values('_DISTRIBUTOR BELT')
select * from test1 order by prod_name asc
选择查询给出以下结果
Prod_Name
CHANNEL
SHELL
_DISTRIBUTOR BELT
但在 SQL Server 中它给出以下结果
Prod_Name
_DISTRIBUTOR BELT
CHANNEL
SHELL
我希望结果与SQL Server中的Oracle相同,那么如何编写查询。为了澄清,我希望 CHANNEL、SHELL 和 _DISTRIBUTOR BELT 行位于最后
最佳答案
在 SQL Server 中,您可以在使用 COLLATE 时强制进行排序规则。尝试下面的脚本,您应该可以通过这种方式获得预期的输出。
SELECT *
FROM test1
ORDER BY prod_name
COLLATE SQL_Latin1_General_CP850_BIN2
关于sql - 结果类似于 SQL Server 2016 中的 Oracle 查询,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59837437/