oracle substrb 和substr

本文详细介绍了 Oracle 数据库中 SUBSTR 和 SUBSTRB 函数的功能及使用方法,阐述了两者在处理多字节字符(如汉字)时的不同之处,并通过实例演示了如何使用这两个函数。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

oracle substrb 和substr

SUBSTR(c1,n1[,n2]) 

【功能】截取子字符串 

【说明】多字节符(汉字、全角符等),按1个字符计算 

【参数】在字符表达式c1里,从n1开始取n2个字符;若不指定n2,则从第y个字符直到结束的字串.
【返回】字符型   

select substr('abcdefghigk',rownum+1) from dual;   返回结果 :bcdefghigk


SUBSTRB(c1,n1[,n2]) 

【功能】截取子字符串 

【说明】多字节符(汉字、全角符等),按2个字符计算 

【参数】在字符表达式c1里,从n1开始取n2个字符;若不指定n2,则从第y个字符直到结束的字串.
【返回】字符型,如果从多字符右边开始,则用空格表示。

select substrb('abcdefghigk',rownum+1) from dual;   返回结果:bcdefghigk包含空格

分析:对于字母来说,substr与substrb作用时一样的,但对于汉字来说,substr是按字来取值,而substrb是按字节来取值,当所取长度为奇数时,则自动舍弃最后一位字节。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值