length、lengthb与substr怎么在oracle中使用

57次阅读
没有评论

共计 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 问一下细节

正文完
 
丸趣
版权声明:本站原创文章,由 丸趣 2023-12-16发表,共计973字。
转载说明:除特殊说明外本站除技术相关以外文章皆由网络搜集发布,转载请注明出处。
评论(没有评论)