Abap SELECT条件下不区分大小写的比较
在ABAP SQL中,在比较Abap SELECT条件下不区分大小写的比较,abap,opensql,Abap,Opensql,在ABAP SQL中,在比较SELECT的WHERE子句中的字段时,是否可以忽略该情况 SELECT * FROM some_table WHERE field1 = variable1. 如何将field1与variable1进行比较,忽略不同的大小写?根据您选择的表格,您可能很幸运,因为SAP将相同的值存储在相关的matchcode字段中,其中的值总是大写的 否则,您可能会在底层数据库的文档中找到允许这种搜索的内容,在这种情况下,您可以发出本机SELECT 例如,如果您的SAP系统使用
SELECT
的WHERE
子句中的字段时,是否可以忽略该情况
SELECT *
FROM some_table
WHERE field1 = variable1.
如何将
field1
与variable1
进行比较,忽略不同的大小写?根据您选择的表格,您可能很幸运,因为SAP将相同的值存储在相关的matchcode字段中,其中的值总是大写的
否则,您可能会在底层数据库的文档中找到允许这种搜索的内容,在这种情况下,您可以发出本机SELECT
例如,如果您的SAP系统使用Oracle作为底层数据库,您可以参考本文:您不能。Open SQL不支持不区分大小写的条件 您可以按照mydoghasworms的建议进行操作,也可以在选择数据后使用正则表达式过滤结果。OpenSQL无法做到这一点,就像前面的语句中提到的其他语句一样 但有一种替代方法:本机SQL“upper”函数意味着:
translate compare_value to upper case.
exec sql performing addX.
select * FROM INTO :workarea
where upper("choose_column") eq :compare_value
endexec.
form addX.
append workarea to itab.
endform.
opensql可以通过函数启动ABAP来实现这一点 例如:
SELECT *
FROM some_table
WHERE UPPER( field1 ) = @variable1
INTO TABLE @DATA(internal_table).
谢谢你们的帮助。我使用本机sql作为解决方案。很高兴知道。我已经等了好几年了。