Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Abap SELECT条件下不区分大小写的比较_Abap_Opensql - Fatal编程技术网

Abap SELECT条件下不区分大小写的比较

Abap SELECT条件下不区分大小写的比较,abap,opensql,Abap,Opensql,在ABAP SQL中,在比较SELECT的WHERE子句中的字段时,是否可以忽略该情况 SELECT * FROM some_table WHERE field1 = variable1. 如何将field1与variable1进行比较,忽略不同的大小写?根据您选择的表格,您可能很幸运,因为SAP将相同的值存储在相关的matchcode字段中,其中的值总是大写的 否则,您可能会在底层数据库的文档中找到允许这种搜索的内容,在这种情况下,您可以发出本机SELECT 例如,如果您的SAP系统使用

在ABAP SQL中,在比较
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作为解决方案。很高兴知道。我已经等了好几年了。