@STRFIND
@STRFINDファンクションでは、文字列列内の文字列の位置を確認し、文字列が見つからないときはゼロを返します。オプションで、@STRFINDは文字列内の開始位置を受け付けます。
Oracle GoldenGateでは、このファンクションで、Unicode、およびMicrosoft Windows、UNIX、Linuxオペレーティング・システムのネイティブ・エンコーディングの文字列を格納する列内の文字を表すために、エスケープ・シーケンスの使用をサポートしています。引数がUnicodeで指定される場合、ターゲット列はSQL Unicodeデータ型である必要があります。
このファンクションは、NCHARまたはNVARCHARデータ型をサポートしていません。
構文
@STRFIND (<string>, '<search_string>' [, <begin_position>])
<string>
検索元の文字列。ここには、文字用の列名またはリテラル文字列を一重引用符内に指定できます。
<'search_string'>
検索する文字列。検索文字列は一重引用符で囲みます。
<begin_position>
検索を開始するバイトの位置。
例
ACCT列の文字列をABC123ABCとすると、次のような結果になります。
| ファンクション文 | 結果 |
|---|---|
| `@STRFIND` (`ACCT`, '23') | 5 |
| `@STRFIND` (`ACCT`、'ZZ') | 0 |
| `@STRFIND` (`ACCT`、`ABC`、2) | 7 (検索が2番目のバイトから開始されたため) |