在Oracle數(shù)據(jù)庫中,SUBSTR
函數(shù)用于從字符串中提取子字符串。其基本語法為:
SUBSTR(string, start, length)
其中:
string
是要從中提取子字符串的原始字符串。start
是子字符串開始的位置(以1為基數(shù))。如果省略該參數(shù)或為其指定負(fù)值,則從字符串的起始位置開始提取。length
是要提取的子字符串的長度。如果省略該參數(shù),則提取從 start
位置開始的所有字符,直到字符串的末尾。下面是一些示例,說明如何設(shè)置 SUBSTR
函數(shù)的參數(shù):
SELECT SUBSTR('Hello, World!', 5, 3) FROM dual;
這將返回 'lo'
。
2. 提取從第7個字符開始的5個字符,并指定負(fù)的 start
值以從字符串末尾開始計數(shù):
SELECT SUBSTR('Hello, World!', -6, 5) FROM dual;
這將返回 'World'
。注意,由于我們從字符串的末尾開始計數(shù),所以 -6
實際上是指向第6個字符(從1開始計數(shù))。
3. 提取整個字符串(省略 start
和 length
參數(shù)):
SELECT SUBSTR('Hello, World!', 1, LENGTH('Hello, World!')) FROM dual;
這將返回整個字符串 'Hello, World!'
。
4. 使用 LENGTH
函數(shù)動態(tài)計算要提取的子字符串的長度:
SELECT SUBSTR('Hello, World!', 1, LENGTH('Hello, World!') - LENGTH('Hello, ')) FROM dual;
這將返回 'World!'
,因為我們從 'Hello, '
之后的所有字符中提取了子字符串。