删除字段包含“+”的内部 table 行?

Delete internal table lines where field contains the "+"?

我想从内部 table 中删除条目,其中一列中没有“+”。现在,如果我想像这样删除它:

DELETE internal_table where field1 <> '+'.

没用。这意味着,它将“+”作为正则表达式,只选择长度为 1 的任何字符。

现在我尝试了几种方法:

DELETE internal_table where field1 <> '\+'.
DELETE internal_table where field1 <> |\+|.
DELETE internal_table where field1 <> `\+`.

这一切都不起作用。使用字符串模板 |\+| 我收到错误消息“字符串模板中的未屏蔽符号‘\’。

字段1是一个长度为1的字符字段。如何转义只有在字段1中有“+”的行的“+”?

不用正则表达式也可以:

DELETE internal_table 
       WHERE field CA '+'.

CA 代表 包含任何 并且它将删除字段包含“+”字符的所有行(与字段的长度或其他内容无关)字符在)。您可以根据需要添加更多字符,例如 CA '+-' 表示字符串包含“+”或“-”等。

如果要删除不包含“+”的行,您可以使用:

DELETE internal_table
       WHERE field NA '+'.

这是直接 SAPHelp 的 link: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abenlogexp_op.htm