字符函数之Substr(chr,0,m)与Substr(chr,m)的区别

oracle数据库内部函数之中的字符函数,其中substr()算是
运用比较多的函数,以下简单通过例子讲述它的一些运用。
substr()函数就是用来截取指定字符串中的部分字符。

----substr()字符函数:
--自定义的例子:

Substr(chr,0,m)Substr(chr,m)的区别:

sys@PROD>select substr('ahijdfogo',0,4),

  2  substr('ahijdfogo',4) from dual;

SUBS SUBSTR

---- ------

ahij jdfogo


---查看表emp中deptno=20部分的记录

scott@PROD>select * from emp

  2  where deptno = 20;

EMPNO ENAME      JOB         MGR HIREDATE         SAL       COMM DEPTNO

----- ---------- --------- ----- --------- ---------- ---------- ------

 7369 SMITH      CLERK      7902 17-DEC-80        800                20

 7566 JONES      MANAGER    7839 02-APR-81       2975                20

 7788 SCOTT      ANALYST    7566 19-APR-87       3000                20

 7876 ADAMS      CLERK      7788 23-MAY-87       1100                20

 7902 FORD       ANALYST    7566 03-DEC-81       3000                20

 7777 SUSU       CLERK      7782 13-NOV-16       3000        500     20

6 rows selected.


---使用Substr(chr,n,m)字符函数按不同参数要求截取ename字段

scott@PROD>select substr(ename,3),substr(ename,0,3)

  2  from emp where deptno = 20;

SUBSTR(ENAME,3)                  SUBSTR(ENAME

-------------------------------- ------------

ITH                              SMI

NES                              JON

OTT                              SCO

AMS                              ADA

RD                               FOR

SU                               SUS

6 rows selected.
#可以看到,返回的两个字段的记录是不一样的。

--注意,Substr(chr,n,m)函数中,n,m两个函数里的参数,当n=0,
m=0亦或者省略都是不一样的决定,返回的结果就是不一样的。以上的
两个例子也可以看到,还有,下面的那个例子,大家可以慢慢体会。
当省略n,m中的一个参数,则默认是省略n 参数,即n=0.(如上述)


---当m=0不省略:
scott@PROD>select substr(ename,3,0) from emp where deptno = 20;


S
-













6 rows selected.
#返回6条记录,但是6条的记录都是空的,因为安要求返回就是没有字符。

来自 “ ITPUB博客 ” ,链接:http://blog.itpub.net/31392094/viewspace-2128537/,如需转载,请注明出处,否则将追究法律责任。

转载于:http://blog.itpub.net/31392094/viewspace-2128537/

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值