我想从内部表中删除条目,该内部表的一列中没有“ +”。现在,如果要这样删除它:
DELETE internal_table where field1 <> '+'.
它不起作用。这意味着,它将“ +”作为正则表达式,并且只选择长度为1的任何字符。
现在我已经尝试了几件事:
DELETE internal_table where field1 <> '\+'.
DELETE internal_table where field1 <> |\+|.
DELETE internal_table where field1 <> `\+`.
这没有用。使用字符串模板|\+|
时,错误消息“字符串模板中的未屏蔽符号'\'。
字段1是一个长度为1的字符字段。如何在字段1中转义只有行中带有“ +”的行的“ +”?
答案 0 :(得分:5)
您可以不使用正则表达式:
DELETE internal_table
WHERE field CA '+'.
CA
代表包含任何,它将删除字段包含“ +”字符(与字段长度或其他字符无关)的所有行。您可以根据需要添加更多字符,例如CA '+-'
,这表示字符串包含'+'或'-'等。
如果要删除不包含“ +”的行,可以使用:
DELETE internal_table
WHERE field NA '+'.
这里是直接SAPHelp的链接: https://help.sap.com/doc/abapdocu_751_index_htm/7.51/en-us/abenlogexp_op.htm