Oracle Length 和 Lengthb 函数说明 笔记

SQL>select length('安庆') from dual;

2

SQL>select lengthb('安庆') from dual;

4

SQL>select length('AnQing') from dual;

6

SQL>select lengthb('AnQing') from dual;

6

通过这个示例,我们可以看出来,Length 和 Lengthb 函数的一个重要用处,就是用来判断记录值里是否有中文内容。

如果有中文,那么Length() != Lengthb()

如果没有中文,那么Length() == Lengthb()



*****************************************************************************************************************************************

*****************************************************************************************************************************************

OracleSQL.oracle中length()与lengthb()区别
SQL> select length('阿猪') from dual;
LENGTH('阿猪')
--------------
2

SQL> select lengthb('阿猪') from dual;

LENGTHB('阿猪')
---------------
4


区别:length求得是字符长度,lengthb求得是字节长度。

----------------------------------------------------------------------------------------------------

SQL> select sysdate from dual;

SYSDATE
--------------
26-9月 -05

SQL> select length(sysdate) from dual;

LENGTH(SYSDATE)
---------------
9

SQL> select lengthb(sysdate) from dual;

LENGTHB(SYSDATE)
----------------
10

length返回的是字符数
lengthb返回的是字节数
汉字“月”在length时,返回的时1
而在lengthb时返回的时2

length指的是字符个数,lengthb指的是字节数。字符个数跟数据库字符集有很大关系。length和lengthb的参数都为varchar2型,因此length(sysdate)有一个隐式的类型转换,实际上等同于length(to_char(sysdate)),ORACLE安装好后默认的NLS_DATE_FORMAT参数值为DD-MON-RR,结果就相当于length('28-9月 -05')和
lengthb('28-9月 -05')了,其结果就是9和10


  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值