Oracle中的length、lengthb、substr、substrb方法 |
您所在的位置:网站首页 › 村头老树图片 › Oracle中的length、lengthb、substr、substrb方法 |
1、length( ) length(string)计算string所占的字符长度:返回字符串的长度,单位是字符 --查询表中身份证号码错误的数据(不是18位身份证号码)select * from tb_ry_syrk s where length( s.gmsfhm ) != 182、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数据库里占多少字节 |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |