一起学习网 一起学习网

利用 Oracle 中的 SUBSTR 函数实现字段截取(oracle字段截取)

Oracle的SUBSTR函数(substring函数)是用来从字符串中截取指定长度的子字符串的函数。它可以帮助我们合理的截取字符串,提高Oracle 数据库的查询处理的效率。
SUBSTR 函数的语法:

SUBSTR(source_string,start_position,[length])

source_string:指定要截取子字符串的源字符串
start_position:指出子串开始的位置
length:指定子串需要截取的字符长度,若未指定则默认为源字符末尾

下面来看一个使用 SUBSTR 函数之后,实现字段截取的示例:

假定有CLIENT表,字段的结构如下:
CREATE TABLE CLIENT(CLIENT_ID NUMBER(8),
CLIENT_NAME VARCHAR2(20));

表中有存放客户名称 'SmartGroup Software Ltd'。

要截取'SmartGroup‘ 和 'Software' 这两个子字符串,可以使用下面的查询:
SELECT SUBSTR(CLIENT_NAME,1,10) AS companyname,
SUBSTR(CLIENT_NAME,12,9) AS productname
FROM CLIENT;
查询结果:
Companyname Productname
SmartGroup Software

另外,SUBSTR函数还可以实现字符串反序,例如字符串'ABCDEFG',可以使用SUBSTR函数提取位置3开始,长度为4 个字符,得出结果 'DCBA'。具体实现为:

SELECT SUBSTR('ABCDEFG',3,4) FROM DUAL;

此外,如果要从字符串的末尾开始截取字符串,可以使用下面的语句:
SELECT substr('ABCDEFG',-2,3) FROM DUAL;
结果:EFG

从上面的示例可以看出,Oracle 提供的SUBSTR函数既省时又省力,可以很好的实现截取字符串的需求,提升处理效率。