position(byte[] pattern, long start) - Advanced SQL Engine - Teradata Database

Teradata Vantage™ - SQL外部ルーチン プログラミング

Product
Advanced SQL Engine
Teradata Database
Release Number
17.10
Published
2021年7月
Language
日本語
Last Update
2021-09-23
dita:mapPath
ja-JP/rin1593638965306.ditamap
dita:ditavalPath
ja-JP/wrg1590696035526.ditaval
dita:id
B035-1147
Product Category
Software
Teradata Vantage

このBlobオブジェクトが表わすBLOB値の範囲内で、指定されたバイト配列パターンが始まるバイト位置を取得します。patternの検索は、start位置で開始されます。

検索が正常に行なわれた場合、position()はパターンが表示される位置を戻します。それ以外の場合、position()は-1の値を戻します。

構文

position(byte[] pattern, long start)

構文要素

pattern
検索するパターンを含むバイト配列。
start
検索を開始する位置。
最初の位置は1です。

例外

IF … position()がSQLExceptionをスローする目的
BLOB値にアクセスする際にエラーが発生する LOBデータの読み取り中にエラーが発生したことを示し、SQLExceptionフィールドを以下のように設定します。
  • SQLStateフィールド = “TS000”
  • vendorCodeフィールド = 7851
pattern引数の値がNULLである

または

start引数の値が1より小さい

無効な引数であることを示し、SQLExceptionフィールドを以下のように設定します。
  • SQLStateフィールド = “22023”
  • vendorCodeフィールド = 7859
JVMが、指定されたパターンを検索するための十分なメモリをメソッドに割り当てることができない 使用できるJVMヒープ メモリが使い尽くされたことを示し、SQLExceptionフィールドを以下のように設定します。
  • SQLStateフィールド = “TS000”
  • vendorCodeフィールド = 7856