6

WHEREABAP SQL では、?句のフィールドを比較するときに大文字と小文字を区別できますSELECTか?

SELECT * 
FROM some_table 
WHERE field1 = variable1.

field1異なるケースをvariable1無視することとどのように比較できますか?

4

4 に答える 4

4

選択しているテーブルによっては、SAPが関連するマッチコードフィールドに同じ値を格納しているという点で幸運かもしれません。このフィールドでは、値は常に大文字になります。

それ以外の場合は、基盤となるDBのドキュメントで、そのような検索を可能にするものが見つかる可能性があります。その場合は、ネイティブSELECTを発行できます。

たとえば、SAPシステムが基盤となるDBとしてOracleを使用している場合は、次の記事を参照できます。http ://www.dba-oracle.com/oracle_news/2005_5_20_great_technique_case_sensitive_text_searching.htm

于 2011-06-22T18:15:04.023 に答える
2

できません。Open SQL は、大文字と小文字を区別しない条件をサポートしていません。

mydoghasworms が提案したことを行うか、データ選択後に正規表現を使用して結果をフィルタリングすることができます。

于 2011-06-29T07:48:27.370 に答える
1

OpenSQLはこれを行うことができません - 前のステートメントで既に言及されている他のものと同様です。

ただし、代替手段が 1 つあります。「上位」関数である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.
于 2011-07-02T23:33:23.230 に答える