ヘッダーをスキップ
Oracle TimesTen In-Memory Database SQLリファレンス・ガイド
リリース11.2.1
B56051-01
  目次
目次
索引
索引

戻る
戻る
 
次へ
次へ
 

文字列関数

TimesTenでは、次の文字列関数がSELECT文でサポートされています。

文字列関数を指定する選択済の値によって、SELECTがマテリアライズされます。これによって時間と領域の両方においてオーバーヘッドが発生します。


SUBSTR

CHARまたはNCHAR文字列のサブストリングを表すCHAR、VARCHAR2またはNVARCHAR2を返します。返されたサブストリングは、指定された文字数で、指定された開始点から始まり、文字列の開始または終了のいずれかに関連します。

SQL構文

{SUBSTR | SUBSTRB | SUBSTR4}=(char, m, n)

パラメータ

SUBSTRには、次のパラメータがあります。

パラメータ 説明
char この関数がサブストリングを返す対象の文字列です。charがCHAR文字列の場合、結果はCHARまたはVARCHAR2文字列になります。 charがNCHAR文字列の場合、結果はNVARCHAR2文字列になります。
m サブストリングを開始する位置です。 mが正の値の場合、返される文字列の最初の文字は、charで指定される文字列の最初からm文字目になります。mが負の値の場合、文字列の最後からm文字目になります。 ABS(m)が文字列の長さを超える場合は、NULL値が返されます。
n サブストリングに含まれる文字数です。nが省略された場合、charで指定した文字列の終わりまでのすべての文字が返されます。 nが1より小さいか、charmまたはnがNULLの場合、NULLが返されます。

説明

SUBSTRは、キャラクタ・セットで定義された文字を使用して長さを計算します。SUBSTRBは、文字数ではなくバイト数を使用します。SUBSTR4は、UCS4コード・ポイントを使用します。

employeesの先頭の5行で、last_nameの最初の3文字を選択します。

SELECT FIRST 5 SUBSTR(last_name,1,3) FROM employees;
< Kin >
< Koc >
< De  >
< Hun >
< Ern >
5 rows found.

employeesの先頭の5行で、last_nameの最後の5文字を選択します。

SELECT FIRST 5 SUBSTR(last_name,-5,5) FROM employees;
< <NULL> >
< chhar >
<  Haan >
< unold >
< Ernst >
5 rows found.

INSTR

ある文字列が別の文字列内に検出された場合に、その最初の位置を識別します。サブストリングが文字列内で検出されない場合は0(ゼロ)が返されます。返される位置は、常にCharExpr2の開始と関連します。INSTRは、NUMBER型を返します。

TimesTen型モードを使用している場合、INSTR関数の詳細は、TimesTenの以前のリリースのドキュメントを参照してください。

SQL構文

{INSTR | INSTRB | INSTR4} ( CharExpr2, CharExp1 [,m[,n]])

パラメータ

INSTRには、次のパラメータがあります。

パラメータ 説明
CharExpr1 文字列CharExpr2で検出されるサブストリングです。 CharExpr1CharExpr2にない場合は、0(ゼロ)が返されます。文字列のいずれかの長さが0(ゼロ)の場合は、NULLが返されます。
CharExpr2 CharExpr1の位置を検出するために検索される文字列です。
m 検索を開始する位置です(オプション)。mが0(ゼロ)に指定された場合、結果は0(ゼロ)です。mが正の値の場合、検索はCharExpr2+mから開始されます。 mが負の値の場合、検索はCharExpr2の終わりからm文字目で開始されます。
n nには正の値を指定する必要があります。検索結果では、CharExpr1n番目の出現位置が返されます。

説明

INSTRは、キャラクタ・セットで定義された文字を使用して文字列を計算します。INSTRBは、文字数ではなくバイト数を使用します。INSTR4は、UCS4コード・ポイントを使用します。

次の例では、INSTRを使用して、文字列'Washington'で使用されるサブストリング'ing'の位置を判別します。

Command> SELECT INSTR ('Washington', 'ing') FROM dual;
< 5 >
1 row found.

LENGTH

式内の指定した文字列の長さを返します。LENGTHはNUMBER型を返します。

TimesTen型モードを使用している場合、LENGTH関数の詳細は、TimesTenの以前のリリースのドキュメントを参照してください。

SQL構文

{LENGTH|LENGTHB|LENGTH4} (CharExpr)

パラメータ

LENGTHには、次のパラメータがあります。

パラメータ 説明
CharExpr 長さを返す対象の文字列です。

説明

LENGTH関数は、CharExprの長さを返します。 LENGTHは、キャラクタ・セットで定義された文字を使用して長さを計算します。LENGTHBは、文字数ではなくバイト数を使用します。LENGTH4は、UCS4コード・ポイントを使用します。

文字列'William'の長さを判別します。

Command> SELECT LENGTH('William') FROM dual;
< 7 >
1 row found.