TimesTenでは、次の文字列関数がSELECT文でサポートされています。
文字列関数を指定する選択済の値によって、SELECTがマテリアライズされます。これによって時間と領域の両方においてオーバーヘッドが発生します。
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より小さいか、char、mまたは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.
ある文字列が別の文字列内に検出された場合に、その最初の位置を識別します。サブストリングが文字列内で検出されない場合は0(ゼロ)が返されます。返される位置は、常にCharExpr2の開始と関連します。INSTRは、NUMBER型を返します。
TimesTen型モードを使用している場合、INSTR関数の詳細は、TimesTenの以前のリリースのドキュメントを参照してください。
SQL構文
{INSTR | INSTRB | INSTR4} ( CharExpr2, CharExp1 [,m[,n]])
パラメータ
INSTRには、次のパラメータがあります。
| パラメータ | 説明 |
|---|---|
CharExpr1 |
文字列CharExpr2で検出されるサブストリングです。 CharExpr1がCharExpr2にない場合は、0(ゼロ)が返されます。文字列のいずれかの長さが0(ゼロ)の場合は、NULLが返されます。 |
CharExpr2 |
CharExpr1の位置を検出するために検索される文字列です。 |
m |
検索を開始する位置です(オプション)。mが0(ゼロ)に指定された場合、結果は0(ゼロ)です。mが正の値の場合、検索はCharExpr2+mから開始されます。 mが負の値の場合、検索はCharExpr2の終わりからm文字目で開始されます。 |
n |
nには正の値を指定する必要があります。検索結果では、CharExpr1のn番目の出現位置が返されます。 |
説明
INSTRは、キャラクタ・セットで定義された文字を使用して文字列を計算します。INSTRBは、文字数ではなくバイト数を使用します。INSTR4は、UCS4コード・ポイントを使用します。
例
次の例では、INSTRを使用して、文字列'Washington'で使用されるサブストリング'ing'の位置を判別します。
Command> SELECT INSTR ('Washington', 'ing') FROM dual;
< 5 >
1 row found.
式内の指定した文字列の長さを返します。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.