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.