WHERE
ABAP SQL では、?句のフィールドを比較するときに大文字と小文字を区別できますSELECT
か?
SELECT *
FROM some_table
WHERE field1 = variable1.
field1
異なるケースをvariable1
無視することとどのように比較できますか?
選択しているテーブルによっては、SAPが関連するマッチコードフィールドに同じ値を格納しているという点で幸運かもしれません。このフィールドでは、値は常に大文字になります。
それ以外の場合は、基盤となるDBのドキュメントで、そのような検索を可能にするものが見つかる可能性があります。その場合は、ネイティブSELECTを発行できます。
たとえば、SAPシステムが基盤となるDBとしてOracleを使用している場合は、次の記事を参照できます。http ://www.dba-oracle.com/oracle_news/2005_5_20_great_technique_case_sensitive_text_searching.htm
できません。Open SQL は、大文字と小文字を区別しない条件をサポートしていません。
mydoghasworms が提案したことを行うか、データ選択後に正規表現を使用して結果をフィルタリングすることができます。
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.