我想从内部表中删除条目,该表的一列中没有“+”。现在,如果我想像这样删除它:
DELETE internal_table where field1 <> '+'.
Run Code Online (Sandbox Code Playgroud)
它不起作用。这意味着,它将“+”作为正则表达式,只选择长度为 1 的任何字符。
现在我已经尝试了几件事:
DELETE internal_table where field1 <> '\+'.
DELETE internal_table where field1 <> |\+|.
DELETE internal_table where field1 <> `\+`.
Run Code Online (Sandbox Code Playgroud)
这一切都不起作用。使用字符串模板时,|\+|我收到错误“字符串模板中未屏蔽的符号 '\'。
字段 1 是长度为 1 的字符字段。如何转义字段 1 中只有“+”的行的“+”?
你可以在没有正则表达式的情况下做到这一点:
DELETE internal_table
WHERE field CA '+'.
Run Code Online (Sandbox Code Playgroud)
CA代表contains any,它将删除字段包含“+”字符的所有行(与字段的长度或其他字符无关)。如果您愿意,您可以添加更多字符,例如CA '+-'这意味着字符串包含“+”或“-”等。
如果要删除不包含“+”的行,可以使用:
DELETE internal_table
WHERE field NA '+'.
Run Code Online (Sandbox Code Playgroud)
这是直接 SAPHelp 的链接: https