oracle统计字符串中某个字符出现的次数
oracle中length()与lengthb()区别
oracle中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
SELECT LENGTHB(TRANSLATE("1,2,34,5",",12345",",")) FROM DUAL;
SELECT LENGTHB("1,2,34,5")-LENGTHB(REPLACE("1,2,34,5",",","")) FROM DUAL;
声明:该文观点仅代表作者本人,入门客AI创业平台信息发布平台仅提供信息存储空间服务,如有疑问请联系rumenke@qq.com。