目次

Search

  1. はじめに
  2. 関数リファレンス
  3. 定数
  4. 演算子
  5. 日付
  6. 関数
  7. システム変数
  8. データ型リファレンス

関数リファレンス

関数リファレンス

INSTR

INSTR

文字列の中で、指定した文字が左から数えて何文字目にあるかを返します。

構文

INSTR(
string
,
search_value
[,
start
[,
occurrence
]] )
引数
必須/
オプション
説明
string
必須
文字列はすべて文字からなっていなければなりません。評価したい値を渡します。有効な式を必要に応じて入力できます。式の結果は文字列でなければなりません。文字列ではない場合、評価する前にINSTRが値を文字列に変換します。
search_value
必須
任意の値。検索値では、大文字と小文字が区別されます。検索したい文字または文字列を指定します。search_valueは、文字列の一部に一致する必要があります。たとえば、
INSTR('Alfred Pope', 'Alfred Smith')
と記述すると、関数はゼロを返します。
有効な式を必要に応じて入力できます。文字列を検索したい場合は、'abc'のように検索したい文字列を一重引用符で囲みます。
start
オプション
整数値でなければなりません。文字列内で検索を開始する位置を示します。有効な式を必要に応じて入力できます。
デフォルト値は1です。つまり、INSTRは文字列の最初の文字から検索を開始します。
開始位置がゼロの場合、INSTRは文字列の最初の文字から検索を開始します。開始位置が正の数である場合、INSTRは文字列の先頭からその数だけ数えた位置から検索を開始します。開始位置が負の数である場合、INSTRは文字列の最後からその数だけ数えた位置から検索を開始します。この引数を省略すると、関数はデフォルト値の1を使用します。
occurrence
オプション
ゼロより大きい正の整数。有効な式を必要に応じて入力できます。検索値が文字列内に複数回出現する場合、何回目の出現を検索するかを指定できます。たとえば、開始位置から2回目に出現する検索値を検索する場合は、2を入力します。
この引数を省略すると、関数はデフォルト値の1を使用します。この場合、INSTRは最初に出現する検索値を検索します。10進数を渡すと、
データ統合
はその値を近似値の整数に丸めます。負の整数またはゼロを渡すと、ワークフローを実行したときにマッピングに失敗します。

戻り値

検索が成功した場合は、整数。この整数は、
search_value
の最初の文字が文字列内で左から数えて何文字目にあるかを示します。
検索に失敗した場合は、ゼロです。
関数にNULL値を渡した場合はNULLです。

次の式は、各会社名の先頭から数えて、文字‘a’ が最初に出現する位置を返します。
search_value
引数では大文字と小文字が区別されるため、‘Blue Fin Aqua Center’の‘A’はスキップし、‘Aqua’の‘a’の位置を返します。
INSTR( COMPANY, 'a' )
COMPANY
RETURN VALUE
Blue Fin Aqua Center
13
Maco Shark Shop
2
Scuba Gear
5
Frank's Dive Shop
3
VIP Diving Club
0
次の式は、各会社名の先頭から数えて、文字‘a’が2回目に出現する位置を返します。
search_value
引数では大文字と小文字が区別されるため、‘Blue Fin Aqua Center’の‘A’はスキップし、0を返します。
INSTR( COMPANY, 'a', 1, 2 )
COMPANY
RETURN VALUE
Blue Fin Aqua Center
0
Maco Shark Shop
8
Scuba Gear
9
Frank's Dive Shop
0
VIP Diving Club
0
次の式は、各会社名の最後の文字から数えて、文字‘a’が2回目に出現する位置を返します。
search_value
引数では大文字と小文字が区別されるため、'Blue Fin Aqua Center'の'A'はスキップし、0を返します。
INSTR( COMPANY, 'a', -1, 2 )
COMPANY
RETURN VALUE
Blue Fin Aqua Center
0
Maco Shark Shop
2
Scuba Gear
5
Frank's Dive Shop
0
VIP Diving Club
0
次の式は、各会社名の最後の文字から数えて、文字列‘Blue Fin Aqua Center’の最初の文字の位置を返します。
INSTR( COMPANY, 'Blue Fin Aqua Center', -1, 1 )
COMPANY
RETURN VALUE
Blue Fin Aqua Center
1
Maco Shark Shop
0
Scuba Gear
0
Frank's Dive Shop
0
VIP Diving Club
0

ネストされたINSTRの使用

INSTR関数を他の関数の中にネストして、複雑な処理を実行できます。
次の式は、文字列を最後の文字から順に評価します。文字列内の最後(一番右側)のスペースを見つけて、それより左側にある文字をすべて返します。
SUBSTR( CUST_NAME,1,INSTR( CUST_NAME,' ' ,-1,1 ))
CUST_NAME
RETURN VALUE
PATRICIA JONES
PATRICIA
MARY ELLEN SHAH
MARY ELLEN
次の式は、文字列から文字#を削除します。
SUBSTR( CUST_ID, 1, INSTR(CUST_ID, '#')-1 ) || SUBSTR( CUST_ID, INSTR(CUST_ID, '#')+1 )
CUST_ID
RETURN VALUE
ID#33
ID33
#A3577
A3577
SS #712403399
SS 712403399