LIKE に関する特殊な考慮事項

ここでは LIKE 述部の使用に関するいくつかの考慮事項について取り上げます。

  • 検索パターンでストリング定数の代わりにホスト変数を使用する場合は、可変長ホスト変数の使用を検討する必要があります。このようなホスト変数を使用すると、次のことが可能になります。
    • 以前に使用されたストリング定数を変更を加えずにホスト変数に割り当てる。
    • ストリング定数を使用した場合と同じ選択基準および結果を得る。
  • 検索パターンでストリング定数の代わりに固定長ホスト変数を使用する場合は、ホスト変数に指定された値が、以前にストリング定数で使用されたパターンと一致していることを確認する必要があります。 ホスト変数内の文字のうち、値が割り当てられていないものは、すべてブランクで初期設定されます。

    例えば、可変長ホスト変数の中のストリング・パターン 'ABC%' を用いて検索を行うとすると、返される値としては次のようなものが考えられます。

    'ABCD      '  'ABCDE'    'ABCxxx'      'ABC '

    しかし、固定長が 10 のホスト変数に含まれる検索パターン 'ABC%' を用いて検索を行うとすると、列の長さが 12 だと想定すると次の値が返されます。

    'ABCDE       ' 'ABCD        ' 'ABCxxx      ' 'ABC         '
    注: 返される値のすべては 'ABC' で始まり、最低 6 つのブランクで終わります。ブランクが使用されているのは、ホスト変数の中の最後の 6 文字に特定の値が割り当てられていないためです。

    固定長ホスト変数で検索を行いたい場合に最後の 7 文字は何でも構わないのであれば、'ABC%%%%%%%' を検索することになります。 この場合、返される値としては次のようなものが考えられます。

    'ABCDEFGHIJ'   'ABCXXXXXXX'  'ABCDE'      'ABCDD'