SUBSTRING_INDEX
函數用于獲取字符串中指定分隔符之間的子字符串。該函數的語法如下:
SUBSTRING_INDEX(str, delim, count)
參數說明:
str
:要搜索的字符串delim
:分隔符count
:要返回的子字符串的個數SUBSTRING_INDEX
函數的工作原理是在字符串 str
中查找分隔符 delim
,然后返回分隔符之前或之后的子字符串,取決于 count
參數的值。如果 count
大于 0,則返回分隔符之前的子字符串;如果 count
小于 0,則返回分隔符之后的子字符串;如果 count
等于 0,則返回整個字符串。
下面是一個示例,假設有一個字符串 str = 'www.oracle.com'
,我們想要獲取該字符串中第一個點號 .
之前和之后的子字符串:
SELECT
SUBSTRING_INDEX(str, '.', 1) AS before_dot,
SUBSTRING_INDEX(str, '.', -1) AS after_dot
FROM dual;
執行以上 SQL 語句,將會返回以下結果:
before_dot | after_dot
-----------|-----------
www | oracle.com
通過 SUBSTRING_INDEX
函數,我們可以在字符串中靈活地查找分隔符并提取需要的子字符串,這對于處理字符串操作非常有用。