【发布时间】:2020-05-21 15:19:40
【问题描述】:
我需要将 Oracle 模式的表计数与 SQL Server 数据库进行比较。但是,当我进行查询时,结果总是关闭,因为每个处理下划线('_')的方式在排序方面。我在下面提供了一个示例。
在甲骨文中:
SELECT FIELD1 FROM ORACLE_ORDER ORDER BY FIELD1 ASC;
Result:
'ABC'
'ABCD'
'ABC_D'
在 SQL Server 中:
SELECT FIELD1 FROM SQL_ORDER ORDER BY FIELD1 ASC;
Result:
'ABC'
'ABC_D'
'ABCD'
从上面可以看出,oracle 和 sql server 在排序时都以不同的方式处理下划线。如何修改任何一个查询(或环境)以使它们的顺序与另一个相同?
【问题讨论】:
-
您使用的排序规则似乎不同。如果您使用默认排序规则,也许您应该明确添加它们。
-
但问题是“SQL Server 中的哪些排序规则与 Oracle 中的排序规则兼容?”
-
@Martin Smith,需要由 OP 找到。先在SQL Server中找到什么排序规则,然后在oracle中找到对应的排序规则,在使用oracle字段时,必须转换为。
-
也许将列转换为二进制,varbinary?无法访问 Oracle 系统,因此无法尝试。
标签: sql sql-server oracle