您的位置:首页 > 数据库 > Oracle

oracle 中获取字符串的长度并截取长度

2014-07-29 14:01 253 查看
写博客之前先简单介绍 oracle 中 获取字符串的长度的长度的函数 :length() 和 lengthb();

其中length()函数 获取的是字符串的字符数,lengthb()获取的是字符串的字节数。但是需要注意的是 如果你的数据库中的字段是clob的话,使用lengthb()会报错!

在oracle 中:

select lengthb('你好') from dual; 返回的值是 4

select length('你好') from dual; 返回的值是 2

最近在项目的过程中需要获取字符串的长度,并且进行判断,如果超过了30个汉字就截取30汉字,话不多说解决方案如下:

select decode(sign(length(T.CONTENT)- 60),1,substr(T.CONTENT,1,60)||'......',-1,T.CONTENT) AS CONTENT

from wt_activity_comment T;

其中,sign() 函数的作用是 当 length(T.CONTENT)- 60 >0 时 返回 1 否则 返回-1
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: