OCTETINDEX 関数
OCTETINDEX 関数は、文字列内の部分文字列の位置をバイト数として返します。
構文
OCTETINDEX(substring, string)
引数
- substring
-
CHAR
文字列、VARCHAR
文字列、あるいはCHAR
またはVARCHAR
型に暗黙的に評価される式。 - string
-
CHAR
文字列、VARCHAR
文字列、あるいはCHAR
またはVARCHAR
型に暗黙的に評価される式。
戻り型
- INTEGER
-
OCTETINDEX 関数は、string 内の substring の位置に対応する
INTEGER
値をバイト数として返します。ここで、string の最初の文字は 1 としてカウントされます。string にマルチバイト文字が含まれていない場合、結果は CHARINDEX 関数の結果と等しくなります。string に substring が含まれない場合、この関数は0
を返します。substring が空の場合、この関数は1
を返します。
例
文字列 Amazon Redshift
のサブ文字列 q
の位置を返すには、次の例を使用します。substring は string に含まれていないため、この例では 0
を返します。
SELECT OCTETINDEX('q', 'Amazon Redshift');
+------------+ | octetindex | +------------+ | 0 | +------------+
文字列 Amazon Redshift
の空のサブ文字列の位置を返すには、次の例を使用します。substring は空であるため、この例では 1
を返します。
SELECT OCTETINDEX('', 'Amazon Redshift');
+------------+ | octetindex | +------------+ | 1 | +------------+
文字列 Amazon Redshift
のサブ文字列 Redshift
の位置を返すには、次の例を使用します。この例では、substring が string の 8 バイト目から始まるため、8
を返します。
SELECT OCTETINDEX('Redshift', 'Amazon Redshift');
+------------+ | octetindex | +------------+ | 8 | +------------+
文字列 Amazon Redshift
のサブ文字列 Redshift
の位置を返すには、次の例を使用します。この例では、string の最初の 6 文字が 2 バイト文字であるため、21
を返します。
SELECT OCTETINDEX('Redshift', 'Άμαζον Amazon Redshift');
+------------+ | octetindex | +------------+ | 21 | +------------+