【发布时间】:2019-04-15 01:18:01
【问题描述】:
我在 SAP HANA 和“创建列表”上有一些表来组合多个“原始表”,并且需要从新创建的表中的一列中替换字符串。表名“Testsubject_status” 列名“STATUS”。 我需要替换字符串的原因是为了在特定条目上获得统一的措辞。 通过以下示例,希望我的意思更清楚:
表名:Testsubject_status --- 列:状态
- 测试我
- 测试他
- 使用 ID 1237 的测试已完成
- 测试她
- 使用 ID 928162 的测试已完成
- 使用 ID 991 的测试已完成
结果应该是
表名:Testsubject_status --- 列:状态
- 测试我
- 测试他
- 测试完成
- 测试她
- 测试完成
- 测试完成
我尝试了以下方法:
CREATE COLUMN TABLE SCHEMATTT.Testsubject_status AS (
Select
Table1.Person AS “Person”,
Table1.Vers AS “Vers”,
Table2.Flnr AS “Flnr”,
Table3.Status AS “Status”
FROM
SCHEMATTT.Table1, SCHEMATTT.Table2, SCHEMATTT.Table3
WHERE SCHEMATTT.Table1.Person = SCHEMATTT.Table2.Person
AND SCHEMATTT.Table2.Flnr = SCHEMATTT.Table3.Flnr
SELECT
REPLACE_REGEXPR (‘with the id \d{1,}’ IN ‘TEST with %’ WITH ‘’) “replace_regexpr”
FROM SCHEMATTT.Testsubject_status
);
正在创建表。 Replace_Regexpr 语句仅在我不与 create column table 语句一起运行时才有效,然后仅创建一个包含一列的表,并且在每一行中都有条目“TEST with %”。
附加信息:
- 不仅需要协调“测试完成”字符串,还有其他一些字符串。所以我需要在这个特定的列“状态”中多次使用替换语句
- “测试完成”语句与表中的另一个语句不是 1:1 的,因此不能以任何方式使用其他语句来执行此操作:-)
不确定以这种方式创建表格是否最好,但我想那是另一回事
提前感谢您的意见!
【问题讨论】: