共计 973 个字符,预计需要花费 3 分钟才能阅读完成。
自动写代码机器人,免费开通
length、lengthb 与 substr 怎么在 oracle 中使用?相信很多没有经验的人对此束手无策,为此本文总结了问题出现的原因和解决方法,通过这篇文章希望你能解决这个问题。
在 oracle 中,比较常见的可能是 length、substr,至少我看到的大部分都是这两个,要不是昨天看代码发现了 lengthb、substrb,估计我也遗忘了。length 表示的是字符串的字符长度,lengthb 表示的是字符串的字节长度;substr 表示根据字符长度获取子串,substrb 表示根据字节长度来获取字串。下面直接看例子来说明:
SELECT length(叶德华 abc) -- length 按字符计,汉字、英文、数字都是 1 个字符,故这里返回 6
FROM dual;
SELECT lengthb(叶德华 abc) -- length 按字节计,我这里是 UTF- 8 编码,汉字 3 个字节,英文一个字节,故这里返回 12
FROM dual;
SELECT substr( 叶德华 abc , -- substr 按字符截取,截取到 a,返回:叶德华 a
1,
4)
FROM dual;
SELECT substrb( 叶德华 abc ,
1,
2) -- substrb 按字节截取,2 不足一个汉字长度,返回:两个空格
FROM dual;
SELECT substrb( 叶德华 abc ,
1,
3) -- substrb 按字节截取,3 刚好是一个汉字长度,返回:叶
FROM dual;
SELECT substrb( 叶德华 abc ,
1,
4) -- substrb 按字节截取,4 多余一个汉字少于两个汉字,返回:叶 加一个空格
FROM dual;
在 oracle 中应该还有其他类似的方法,这里就不总结了,大概就是这么个意思。补充一下,据说在 oracle 中定义字符类型的时候默认的长度是 byte,比如 varchar2(20) 表示的是 20 个字节长度,如果要定义成字符,则 varchar2(20 char),不过,一般我们也都用字节定义。
看完上述内容,你们掌握 length、lengthb 与 substr 怎么在 oracle 中使用的方法了吗?如果还想学到更多技能或想了解更多相关内容,欢迎关注丸趣 TV 行业资讯频道,感谢各位的阅读!
向 AI 问一下细节
正文完