SUBSTR
和 INSTR
是 Oracle 數據庫中兩個不同的字符串函數,它們的用途和功能有所不同
SUBSTR
函數:
SUBSTR
函數用于從一個字符串中提取子字符串。它接受三個參數:原始字符串、起始位置和子字符串的長度。SUBSTR
函數從指定的起始位置開始,提取指定長度的子字符串。語法:
SUBSTR(string, start_position, length)
示例:
SELECT SUBSTR('Hello, World!', 1, 5) FROM DUAL; -- 結果為 'Hello'
INSTR
函數:
INSTR
函數用于在一個字符串中查找另一個子字符串的位置。它接受四個參數:原始字符串、要查找的子字符串、起始位置(可選)和第 N 次出現的子字符串(可選)。INSTR
函數返回子字符串在原始字符串中首次出現的位置。如果未找到子字符串,則返回 0。語法:
INSTR(string, substring, start_position, occurrence)
示例:
SELECT INSTR('Hello, World!', 'World') FROM DUAL; -- 結果為 8
總結:
SUBSTR
函數用于提取子字符串,而 INSTR
函數用于查找子字符串在原始字符串中的位置。SUBSTR
函數需要指定起始位置和子字符串的長度,而 INSTR
函數需要指定要查找的子字符串、起始位置(可選)和第 N 次出現的子字符串(可選)。