OCTETINDEX 関数 - Amazon Redshift

OCTETINDEX 関数

OCTETINDEX 関数は、文字列内の部分文字列の位置をバイト数として返します。

構文

OCTETINDEX(substring, string)

引数

substring

CHAR 文字列、VARCHAR 文字列、あるいは CHAR または VARCHAR 型に暗黙的に評価される式。

string

CHAR 文字列、VARCHAR 文字列、あるいは CHAR または VARCHAR 型に暗黙的に評価される式。

戻り型

INTEGER

OCTETINDEX 関数は、string 内の substring の位置に対応する INTEGER 値をバイト数として返します。ここで、string の最初の文字は 1 としてカウントされます。string にマルチバイト文字が含まれていない場合、結果は CHARINDEX 関数の結果と等しくなります。stringsubstring が含まれない場合、この関数は 0 を返します。substring が空の場合、この関数は 1 を返します。

文字列 Amazon Redshift のサブ文字列 q の位置を返すには、次の例を使用します。substringstring に含まれていないため、この例では 0 を返します。

SELECT OCTETINDEX('q', 'Amazon Redshift'); +------------+ | octetindex | +------------+ | 0 | +------------+

文字列 Amazon Redshift の空のサブ文字列の位置を返すには、次の例を使用します。substring は空であるため、この例では 1 を返します。

SELECT OCTETINDEX('', 'Amazon Redshift'); +------------+ | octetindex | +------------+ | 1 | +------------+

文字列 Amazon Redshift のサブ文字列 Redshift の位置を返すには、次の例を使用します。この例では、substringstring の 8 バイト目から始まるため、8 を返します。

SELECT OCTETINDEX('Redshift', 'Amazon Redshift'); +------------+ | octetindex | +------------+ | 8 | +------------+

文字列 Amazon Redshift のサブ文字列 Redshift の位置を返すには、次の例を使用します。この例では、string の最初の 6 文字が 2 バイト文字であるため、21 を返します。

SELECT OCTETINDEX('Redshift', 'Άμαζον Amazon Redshift'); +------------+ | octetindex | +------------+ | 21 | +------------+