2017-09-01 101 views
0

我即将使用DbUnit比较SQL Server和SAP HANA之间的数据集。将varchar SQL Server与HANA排序

为了比较,需要将两个数据集排序为相同。

不幸的是,当字母数字字符与标点字符混合时,排序顺序不同。

08:36:50.463 [main] ERROR com.meag.h4q.tests.DirtyValue - Diff found in row:181, col:UniqueID expected:EBEL_RE_EUR_UL, actual:EBEL_RE_EUR3.50 
08:36:50.463 [main] ERROR com.meag.h4q.tests.DirtyValue - Diff found in row:182, col:UniqueID expected:EBEL_RE_EUR3.50, actual:EBEL_RE_EUR4.75 
08:36:50.463 [main] ERROR com.meag.h4q.tests.DirtyValue - Diff found in row:183, col:UniqueID expected:EBEL_RE_EUR4.75, actual:EBEL_RE_EUR_UL 
08:36:50.464 [main] ERROR com.meag.h4q.tests.DirtyValue - Diff found in row:663, col:UniqueID expected:BK_K_LAMBDG_EUR, actual:BK_K_LAMBDGV_EUR 
08:36:50.464 [main] ERROR com.meag.h4q.tests.DirtyValue - Diff found in row:664, col:UniqueID expected:BK_K_LAMBDG_USD, actual:BK_K_LAMBDGV_GBP 
08:36:50.465 [main] ERROR com.meag.h4q.tests.DirtyValue - Diff found in row:665, col:UniqueID expected:BK_K_LAMBDGV_EUR, actual:BK_K_LAMBDGV_USD 
08:36:50.465 [main] ERROR com.meag.h4q.tests.DirtyValue - Diff found in row:666, col:UniqueID expected:BK_K_LAMBDGV_GBP, actual:BK_K_LAMBDG_EUR 
08:36:50.465 [main] ERROR com.meag.h4q.tests.DirtyValue - Diff found in row:667, col:UniqueID expected:BK_K_LAMBDGV_USD, actual:BK_K_LAMBDG_USD 

到目前为止,我没有看到它取决于数据库使用的排序规则。在SQL Server中,我找到了使用的排序规则:通过查看表定义。

但是SAP HANA使用什么排序规则来匹配排序顺序?

回答

1

添加

COLLATE Latin1_General_bin 

列后做在SQL Server中的二进制搜索。

订单将与SAP HANA相同