index_of関数

index_of関数は、検索文字列の最初の文字(ある場合)の最初の出現時の位置を決定します。
returnvalue index_of(source, search_string [, start_position])

source ::= any*
search_string ::= any*
start_position ::= integer*
returnvalue ::= integer
様々な戻り値:
  • 検索文字列の最初の文字の最初の出現時の位置を返します。位置は、文字列の開始位置(ゼロ)からの相対位置です。
  • search_stringがソースに存在しない場合は-1を返します。
  • search_stringの長さが0である場合、ソースの値に対して0を返します。
  • 引数がNULLの場合はNULLを返します。
  • 引数が空の順序であるか、複数の項目がある順序の場合はNULLを返します。
  • start_position引数が整数でない場合はエラーを返します。
例1: チケット番号が1762320569757の乗客について、第1区間の推定到着時刻に-が含まれる位置を特定します。
SELECT index_of(bag.baginfo.flightLegs[0].estimatedArrival,"-")
FROM BaggageInfo bag 
WHERE ticketNo=1762320569757
出力:
{"Column_1":4}
例2: チケット番号が1762320569757の乗客について、第1区間のルーティングに/が含まれる位置を特定します。これは、チケット番号が1762320569757の乗客について、ソース・ポイントの文字数を特定するのに役立ちます。
SELECT index_of(bag.baginfo.routing,"/") 
FROM BaggageInfo bag 
WHERE ticketNo=1762320569757
出力:
"Column_1":3}