oracle取字符串长度的函数length()…

lengthb(string)计算string所占的字节长度 :返回字符串的长度,单位是字节


length(string)计算string所占的字符长度 :返回字符串的长度,单位是字符

 

对于单字节字符,LENGTHB和LENGTH是一样的.

如可以用length(‘string’)=lengthb(‘string’)判断字符串是否含有中文。

 

 转自网络:

http://topic.csdn.net/t/20040630/16/3135181.html

http://space.itpub.net/?uid-231499-action-viewspace-itemid-63770

  select   length('我')   from   dual       --返回1  


  select   lengthb('我')   from   dual     --返回2  


  select   length('AB')   from   dual       --返回2  


  select   lengthb('AB')   from   dual     --返回2 


开发环境中:有的表中字段类型定义为varchar2(20)有的表中字段类型定义为varchar2(20 byte)
varchar2(20)和varchar2(20 byte)是否相同呢?
相不相同是由 数据库的参数NLS_LENGTH_SEMANTICS决定的,有两个单位,char(字符)或者字节(byte),该参数默认值为BYTE。
所以说,在默认情况下 varchar2(20) = varchar2(20 byte)。如果参数值为CHAR 就不相等。
建议:使用统一的格式如:varchar2(20)
演示:
SQL> show parameter nls_length_semantics;

查看一个表字段数据类型:desc ACC_MER_SHADOW;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值