oracle 中截取字符串的情况如下:
(1) 可以截取某个已知字符串的的任意一个或几个:
语法:
substr( string, start_position, [ length ] )
取子字符串,从start_position开始,取length个,length为可选,如果length为空则返回start_position后的所有字符。
实例:
substr('This is a test', 6, 2) 结果是:'is'
substr('This is a test', 6) 结果是: 'is a test'
substr('TechOnTheNet', 1, 4) 结果是:'Tech'
substr('TechOnTheNet', -3, 3) 结果是:'Net'
substr('TechOnTheNet', -6, 3) 结果是:'The'
substr('TechOnTheNet', -8, 2) 结果是:'On'
select substr('TechOnTheNet', -3, 2) from dual
start_position为负数时,表示从字符串尾巴倒着数
(2)获得某一列中列值的部分字符串:
实例:
substr(attr,1,3),表示截取列名为"attr"的列,从第一个字符起,截取3个字符。其它用法和(1)中情况一样,注意:列名不要加引号,否则就成字符串了