sql substr函数截取字符串用法

发布时间:2020-09-30编辑:脚本学堂
有关sql函数substr的用法,substr函数用于截取字符串,指定要截取的字符串长度,缺省时返回字符表达式的值结束前的全部字符,需要的朋友参考下。

sql数据库字符串截取函数substr用法
substr(string,start,length)
string - 指定的要截取的字符串。
start - 必需,规定在字符串的何处开始。正数 - 在字符串的指定位置开始,负数 - 在从字符串结尾的指定位置开始,0 - 在字符串中的第一个字符处开始。
length - 可选,指定要截取的字符串长度,缺省时返回字符表达式的值结束前的全部字符。

例如:
 

select substr('abcdefg',3,4) from dual; 结果是cdef
select substr('abcdefg',-3,4) from dual; 结果efg

注意:字符串中的第一个位置始终为1。以下两个sql查询的结果相同:

例如:
 

select substr('abcdefg',0,3) from dual; 结果是abc
select substr('abcdefg',1,3) from dual; 结果是abc

与java类中的substring区别:

substring(int beginIndex, int endIndex) :从指定的 beginIndex 处开始,到指定的 endIndex-1处结束,字符串中的第一个位置始终为0。endIndex,可选,缺省时返回始于指定索引处的字符,一直到此字符串末尾。

例如:
 

"unhappy".substring(2) returns "happy"
"hamburger".substring(3,8) returns "burge"

sql substr()函数用法
substr( string, start_position, [ length ] )
字符串是源字符串。
start_position是提取的位置。字符串中的第一个位置始终为1。
length  可选的。它是提取的字符数。如果省略该参数,SUBSTR将返回整个字符串。
Applies To:
Oracle 8i, Oracle 9i, Oracle 10g, Oracle 11g
 
例子:
 

substr('This is a test', 6, 2) would return 'is'
substr('This is a test', 6) would return 'is a test'
substr('TechOnTheNet', 1, 4) would return 'Tech'
substr('TechOnTheNet', -3, 3) would return 'Net'
substr('TechOnTheNet', -6, 3) would return 'The'
substr('TechOnTheNet', -8, 2) would return 'On'