Oracle的substr函数

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Oracle的substr函数相关的知识,希望对你有一定的参考价值。

一、Substr函数

substr(目标字符串,开始位置,长度)

注意:这里第三个参数:长度,相当于物理中的标量,没有方向性,所以不能用负值。虽然不报错,但是选择不出任何值出来(欢迎指正)

开始位置可以有负值,表示倒数。例如:substr(ename,-2,2):表示从倒数第一个开始,截取长度为2的字符串

例子1:

SQL> select ename,substr(ename,1,3) from emp;

ENAME     SUBSTR
----------    ------
SMITH      SMI
ALLEN      ALL
WARD      WAR
JONES      JON
MARTIN     MAR
BLAKE      BLA
CLARK      CLA
SCOTT      SCO
KING        KIN
TURNER     TUR
ADAMS      ADA
JAMES       JAM
FORD      FOR
MILLER      MIL

已选择14行。

例子2:

SQL> select ename,substr(ename,-2,2) from emp;

ENAME SUBS
---------- ----
SMITH TH
ALLEN EN
WARD RD
JONES ES
MARTIN IN
BLAKE KE
CLARK RK
SCOTT TT
KING NG
TURNER ER
ADAMS MS
JAMES ES
FORD RD
MILLER ER

已选择14行。

例子3:

SQL> select ename,substr(ename,2,-2) from emp;

ENAME S
---------- -
SMITH
ALLEN
WARD
JONES
MARTIN
BLAKE
CLARK
SCOTT
KING
TURNER
ADAMS
JAMES
FORD
MILLER

已选择14行。














































以上是关于Oracle的substr函数的主要内容,如果未能解决你的问题,请参考以下文章

Oracle中REGEXP_SUBSTR函数

oralce逗号分割变多行 Oracle中REGEXP SUBSTR函数

Oracle中的substr()函数 详解及应用

oracle的substr函数的用法

Oracle substr 字符截取函数

Oracle的substr函数