Oracle中的length、lengthb、substr、substrb⽅法1、length( )
length(string)计算string所占的字符长度:返回字符串的长度,单位是字符
--查询表中⾝份证号码错误的数据(不是18位⾝份证号码)
select*from tb_ry_syrk s
where length( s.gmsfhm ) !=18
字符串长度的方法
2、lengthb( )
lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节
3、substr( a , int1 , int2 )
substr( a , int1 , int2 )根据字符长度截取⼦串;
a---待截取字符串
int1---开始截取下标(从1开始)
int2---截取长度。
substr('飞哥哥ora', 1, 4)
-- substr按字符截取,截取到a,返回:飞哥哥o
实例:
--根据⾝份证号码更新出⽣⽇期
update tb_ry_syrk t set t.csrq=
( select to_date ( substr( g.gmsfhm , 7,8 ) , ' yyyyMMdd ' )
csrq from tb_ry_syrk g where  t.gmsfhm = g.gmsfhm )
4、substrb( a , int1 , int2 )
substrb( a , int1 , int2 )根据字节长度截取⼦串;
substrb('飞哥哥ora', 1, 3)
-
- substrb按字节截取,截取到a,返回:飞(1个汉字在Oracle中占3个字节)
对于单字节字符,LENGTHB和LENGTH、substr和substrb 是⼀样的.
如可以⽤length(‘string’)=lengthb(‘string’)判断字符串是否含有中⽂。
注:
⼀个汉字在Oracle数据库⾥占多少字节跟数据库的字符集有关,UTF8时,长度为三。
select length('cctv') from dual ;可查询汉字在Oracle数据库⾥占多少字节

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。