本文為英文版的機器翻譯版本,如內容有任何歧義或不一致之處,概以英文版為準。
OCTETINDEX 函數
OCTETINDEX 函數會傳回字串中子字串的位置,以位元組數為單位。
語法
OCTETINDEX(substring, string)
引數
- substring
-
CHAR
字串、VARCHAR
字串或隱含評估為CHAR
或VARCHAR
類型的運算式。 - string
-
CHAR
字串、VARCHAR
字串或隱含評估為CHAR
或VARCHAR
類型的運算式。
傳回類型
- INTEGER
-
OCTETINDEX 函數會傳回對應於字串中子字串位置
INTEGER
的值,以位元組數為單位,其中字串中的第一個字元會計算為 1。如果字串不包含多位元組字元,則結果等於CHARINDEX函數的結果。如果 string 不包含 substring,則函數會傳回0
。如果 substring 為空,則函數會傳回1
。
範例
若要傳回字串 Amazon Redshift
中子字串 q
的位置,請使用下列範例。此範例會傳回 0
,因為 substring 不在 string 中。
SELECT OCTETINDEX('q', 'Amazon Redshift');
+------------+ | octetindex | +------------+ | 0 | +------------+
若要傳回字串 Amazon Redshift
中空白子字串的位置,請使用下列範例。這個範例會傳回 1
,因為 substring 是空的。
SELECT OCTETINDEX('', 'Amazon Redshift');
+------------+ | octetindex | +------------+ | 1 | +------------+
若要傳回字串 Amazon Redshift
中子字串 Redshift
的位置,請使用下列範例。這個範例會傳回 8
,因為 substring 是從 string 的第八個位元組開始。
SELECT OCTETINDEX('Redshift', 'Amazon Redshift');
+------------+ | octetindex | +------------+ | 8 | +------------+
若要傳回字串 Amazon Redshift
中子字串 Redshift
的位置,請使用下列範例。這個範例會傳回 21
,因為 string 的前六個字元是雙位元組字元。
SELECT OCTETINDEX('Redshift', 'Άμαζον Amazon Redshift');
+------------+ | octetindex | +------------+ | 21 | +------------+