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

发布于 2024-11-16 19:41:04 字数 228 浏览 5 评论 0原文

在 ABAP SQL 中,在比较 SELECTWHERE 子句中的字段时,我可以忽略大小写吗?

SELECT * 
FROM some_table 
WHERE field1 = variable1.

如何比较 field1variable1 忽略不同的大小写?

In ABAP SQL can I ignore the case when comparing fields in the WHERE clause of a SELECT?

SELECT * 
FROM some_table 
WHERE field1 = variable1.

How can I compare field1 to variable1 ignoring different case?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(4

比忠 2024-11-23 19:41:04

Open SQL 可以使用函数 UPPER启动ABAP 7.51

例子:

SELECT * 
FROM some_table 
WHERE UPPER( field1 ) = @variable1
INTO TABLE @DATA(internal_table).

Open SQL can do this with the function UPPER starting ABAP 7.51.

Example:

SELECT * 
FROM some_table 
WHERE UPPER( field1 ) = @variable1
INTO TABLE @DATA(internal_table).
放低过去 2024-11-23 19:41:04

根据您选择的表,您可能很幸运,因为 SAP 在相关的匹配代码字段中存储相同的值,其中该值始终为大写。

否则,您可能会在底层数据库的文档中找到允许此类搜索的内容,在这种情况下您可以发出本机 SELECT。

例如,如果您的SAP系统使用Oracle作为底层DB,您可以参考这篇文章:http://www.dba-oracle.com/oracle_news/2005_5_20_great_technique_case_sensitive_text_searching.htm

Depending on the table you are selecting from, you may be lucky in that SAP is storing the same value in a related matchcode field, in which the value would always be upper case.

Otherwise, you may find something in the documentation of the underlying DB that allows such a search, in which case you may issue a native SELECT.

For example, if your SAP system uses Oracle as the underlying DB, you can refer to this article: http://www.dba-oracle.com/oracle_news/2005_5_20_great_technique_case_sensitive_text_searching.htm

拿命拼未来 2024-11-23 19:41:04

你不能。 Open SQL 不支持不区分大小写的条件。

您可以按照 mydoghasworms 的建议进行操作,也可以在选择数据后使用正则表达式过滤结果。

You can't. Open SQL does not support case insensitive conditions.

You can either do what mydoghasworms suggested or you filter your results using regex after data selection.

谈情不如逗狗 2024-11-23 19:41:04

OpenSQL 无法做到这一点 - 就像前面的陈述中提到的其他人一样。

但还有一种选择:Native SQL,即“上层”函数,意思是:

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 can't do this - like the others mentioned alreay in earlier statements.

But there is one alternative: Native SQL, the "upper" function, means:

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.
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文