LENGTH,LENGTHB,LENGTHC,LENGTH2,LENGTH4的区别!


具体说明如下:
LENGTH(string1) 返回以字符为单位的长度.
LENGTHB(string1) 返回以字节为单位的长度.
LENGTHC(string1) 返回以Unicode完全字符为单位的长度.
LENGTH2(string1) 返回以UCS2代码点为单位的长度.
LENGTH4(string1) 返回以UCS4代码点为单位的长度.

在不同的数据库,LENGTHB得到的值可能会不一样。
如LENGTHB('哈’)在不同的数据库得到的值可能是2或3。

 

因为不同字符集,对汉字的编码是不一样的,
例如ZHS16GBK是两位,采用两个byte位来定义一个汉字。
而在UTF8,采用3个byte。(也有2位汉字的UTF8的可能性)
总之,lengthb的值和你当前数据库的字符集是有关的。


oracle中length()与lengthb()最大的区别在于:
SQL> select length('新春快乐') from dual;

LENGTH('新春快乐')
------------------
                 4

SQL> select lengthb('新春快乐') from dual;

LENGTHB('新春快乐')
-------------------
                  8

区别:length求得是字符长度,   
         lengthb求得是字节长度。
  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

apicescn

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值