コンテンツエリア開始

Background documentation LIKE 条件 Locate the document in its SAP Library structure

LIKE 条件は、LIKE 述語を含む検索条件です。

SQL オプティマイザでは、LIKE 条件に対して以下の制約が課されます。

      演算子は、演算子 LIKE です。

      LIKE 条件構文は、以下になります。
<column_spec> LIKE <extended_value_spec>

      使用する値指定(extended_value_spec) の先頭をLIKE 述語の match_string または match_set SQL 構文要素にすることはできません。

SQL オプティマイザが LIKE 条件を評価して検索方針を決定するには、LIKE 条件がこれらのいずれかの書式である必要があります。

書式 ...NOT (<column_spec> NOT LIKE <extended_value_spec>) を含む条件は、必要に応じて、<column_spec> LIKE <extended_value_spec> 式に変換されます。

これにより、SQL オプティマイザは変換した条件の処理を続行することができます。

SQL オプティマイザを説明するために使用する例は、スキーマ HOTEL におけるデモデータベースDEMODB とその完全なデモデータにもとづいています。

データベースシステムのコンセプトスキーマ HOTEL のオブジェクト

Example

SELECT * FROM hotel.customer
  WHERE name LIKE 'Wa%'

修飾: name LIKE = 'Wa%'
テーブル CUSTOMER の一次キー: cno
修飾列の索引: FULL_NAME_INDEX (name, firstname)
使用される検索方針: RANGE CONDITION FOR INDEX

索引 FULL_NAME_INDEX (name, firstname) を使用することができます。開始キーは、先頭の 2 文字値のLIKE 条件を満たす最初のレコード(Wade, Francisco) に設定されます。終了キーは、条件を満たさない最初のレコード (Weaver, Alfredo) にあります。

EXPLAIN 文の結果

TABLENAME

COLUMN_OR_INDEX

STRATEGY

PAGECOUNT

CUSTOMER

FULL_NAME_INDEX

RANGE CONDITION FOR INDEX

34

 

NAME

(USED INDEX COLUMN)

 

 

 

RESULT IS NOT COPIED
COSTVALUE IS


4

その他の SQL 文の簡単な例については、Structure linkSQL チュートリアルを参照してください。

参照:

EXPLAIN

SQL 参照マニュアルLIKE 述語 (like_predicate)

 

 

コンテンツエリア終了