Abap 在WHERE子句中如何使用子字符串?

Abap 在WHERE子句中如何使用子字符串?,abap,opensql,Abap,Opensql,我在OpenSQL中的表达式是: SELECT * FROM J_1BNFLIN AS B WHERE SUBSTRING(REFKEY , 1 , 10 ) where子句的子字符串部分无效。我做错了什么?您可以在WHERE条件下使用LIKE。例如: DATA: gv_refkey TYPE j_1bnflin-refkey. gv_refkey = '123%'. SELECT * INTO TABLE ... FROM j_1bnflin

我在OpenSQL中的表达式是:

SELECT * FROM  J_1BNFLIN  AS B
  WHERE SUBSTRING(REFKEY , 1 , 10 )

where子句的子字符串部分无效。我做错了什么?

您可以在WHERE条件下使用LIKE。例如:

DATA: gv_refkey TYPE j_1bnflin-refkey.
gv_refkey = '123%'.
SELECT *
       INTO TABLE ...
       FROM j_1bnflin
       WHERE refkey LIKE gv_refkey.

这将选择字段refkey以“123”开头的所有条目(请注意,a%用作通配符)

据我所知,OpenSQL中没有子字符串。你到底想要什么?您想要表J_1BNFLIN中字段REFKEY的前10个字符吗?是@JozsefSzikszaiSorry,我可能误解了这个问题,所以我再次询问:您想要使用字段REFKEY的前10个字符作为选择标准吗?是的,如果子字符串(REFKEY,1,10)=子字符串(REFKEY,4,4)的可能性从ABAP 7.50接受,在条件的左边。参考资料:谢谢大家,但特别是JozsefSzikszai和Sunkatcher