在SAP Hana中使用排序规则的ORDER_BY

2020-08-30 22:31发布

点击此处---> 群内免费提供SAP练习系统(在群公告中)加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)在我的桌子上,我有带有波兰音调符...

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


在我的桌子上,我有带有波兰音调符号的值。 我想查询它并以正确的顺序对结果进行排序。 我需要排序规则来执行此操作,但是我不知道如何在SAP Hana数据库中使用它。

测试表

创建列表TEST_ORDER_BY(
     ID BIGINT空,
     PL_VALUE VARCHAR(20)为空,
     DE_VALUE VARCHAR(20)空
 );

 插入TEST_ORDER_BY VALUES(1,'Aaa','Straße');
 插入TEST_ORDER_BY VALUES(2,'aaa','Strasse');
 插入TEST_ORDER_BY VALUES(3,'Bbbb','Strase');
 插入TEST_ORDER_BY VALUES(4,'bbbb','Strasze');
 插入TEST_ORDER_BY VALUES(5,'Ąaa','Aaa');
 插入TEST_ORDER_BY VALUES(6,'±aa','ßStrae');
 插入TEST_ORDER_BY VALUES(7,'zz','Zzzz');
 插入TEST_ORDER_BY VALUES(8,'zaąa','aaa');
 插入TEST_ORDER_BY VALUES(9,'zaąz','bbb');
 插入TEST_ORDER_BY VALUES(10,'zabz','Strasße');
 

SQL查询

 SELECT ID,pl_value
 来自TEST_ORDER_BY
 ORDER BY pl_value ASC; 

结果

 ID PL_VALUE
 1 Aaa
 3 Bbbb
 2 aaa
 4 bbbb
 10扎布兹
 8Zaąa
 9扎兹
 7 zz
 5Ąaa
 6±aa 

预期结果

 ID PL_VALUE
 ---------- --------------------
          1 Aaa
          2 aaa
          5Ąaa
          6±aa
          3 Bbbb
          4 bbbb
          8Zaąa
          9扎兹
         10扎布兹
          7 zz 

我需要的是 a ,后跟±,对于其他音素符号(如ęóśłżźń)也是如此。 我在数据库中找到了视图 M_COLLATIONS (没有抛光排序规则),并且在 TABLE_COLUMNS 视图中找到了列 COLLATION ,但是我不知道如何设置 用于指定的列。

我该怎么办? 我使用2.00.030.00.1522210459版本(2.0 SPS 03),如果不支持排序规则,什么解决方法?

4条回答
huskylover
2020-08-30 23:10

SPS04现在支持排序规则。

  :: =
  ORDER BY { [,order_by_expression [,…]]}

  :: =
   [] [ASC |  DESC] [首先为NULL |  NULL LAST]
  |   [ASC |  DESC] [首先为NULL |  NULLS LAST] []

 <位置> :: = <无符号整数>

  :: = COLLATE  

指定要使用的排序规则。 仅可用于定义为NVARCHAR或VARCHAR的列。

是COLLATIONS系统视图中列出的受支持的归类名称之一。

例如:col1 COLLATE TURKISH从mytable订单中选择*;

一周热门 更多>