点击此处---> 群内免费提供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),如果不支持排序规则,什么解决方法?
Cześć,Wojciech。
请尝试使用注释2448829中的解决方案
对我来说,查询
在2.0 SPS 3上返回以下结果:
致谢
-Vitaliy
此附加答案是在复活旧问题可带来益处时很少见的例子之一。 谢谢,维塔利(Vitaly)!
尽管如此,但有趣的是,该注释来自2017年,并指出对国家分类顺序的支持是计划中的功能。 由于此注释实际上是唯一提及此功能的地方,因此此功能似乎仍在开发中。 依赖未记录且未实现的功能可能会有风险。 (我认为整个WITH PARAMETER解决方法只是在尝试通过会话上下文从处理特定于区域设置的平台上迁移时并没有真正帮助。)
在stackoverflow上回答:
SAP HANA还不支持归类。 我认为,鉴于系统视图,此功能尚处于准备状态。
除了客户端排序之外,我没有看到一个很好的选择来模仿SQL/SQLScript中基于排序规则的排序。
SPS04现在支持排序规则。
指定要使用的排序规则。仅可用于定义为NVARCHAR或VARCHAR的列。
例如:col1 COLLATE TURKISH从mytable订单中选择*;
一周热门 更多>