Oracle Length 和 Lengthb 函数说明 .(用来判断记录值里是否有中文内容)
来源:互联网 发布:hello world java 编辑:程序博客网 时间:2024/05/21 11:17
一.官网的说明
http://download.oracle.com/docs/cd/E11882_01/server.112/e26088/functions088.htm#SQLRF00658
Purpose
The LENGTH functionsreturn the length of char. LENGTH calculates length usingcharacters as defined by the input character set.
--返回以字符为单位的长度.
LENGTHB usesbytes instead of characters.
--返回以字节为单位的长度.
LENGTHC usesUnicode complete characters.
--返回以Unicode完全字符为单位的长度.
LENGTH2 usesUCS2 code points.
--返回以UCS2代码点为单位的长度.
LENGTH4 usesUCS4 code points.
--返回以UCS4代码点为单位的长度.
char can beany of the data types char, varchar2, nchar, nvarchar2, clob,or nclob.
The exceptionsare LENGTHC, LENGTH2, and LENGTH4, which do not allow char tobe a CLOB or NCLOB. The return value is of data type NUMBER.If char has data type CHAR, then the length includes all trailingblanks. If char is null, then this function returns null.
Restriction on LENGTHB (Lengthb函数的限制)
The LENGTHB functionis supported for single-byte LOBs only. It cannot be used with CLOB and NCLOB datain a multibyte character set.
Examples
The followingexample uses the LENGTH function using a single-byte databasecharacter set:
SELECT LENGTH('CANDIDE') "Length incharacters" FROM DUAL;
Length in characters
--------------------
7
The next example assumes a double-bytedatabase character set.
SELECT LENGTHB ('CANDIDE') "Length inbytes" FROM DUAL;
Length in bytes
---------------
14
二.示例说明
在不同的数据库,因为字符集的不同,LENGTHB得到的值可能会不一样。如ZHS16GBK采用两个byte位来定义一个汉字。而在UTF8,采用3个byte。
SYS@anqing1(rac1)> SELECT USERENV('LANGUAGE') FROM DUAL;
USERENV('LANGUAGE')
----------------------------------------------------
AMERICAN_AMERICA.ZHS16GBK
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()
- Oracle Length 和 Lengthb 函数说明 .(用来判断记录值里是否有中文内容)
- Oracle Length 和 Lengthb 函数说明
- Oracle Length 和 Lengthb 函数说明 笔记
- Oracle Length 和 Lengthb 函数说明
- lengthb 函数和 length 函数
- oracle获取字符串长度函数length()和lengthb()
- sql 函数length() 和lengthb()的区别
- oracle length 与 lengthb
- 判断字符串里是否有中文
- 判断NSString里是否有中文
- length,lengthb和substr,subtrab
- Oracle 中文记录 及 乱码 判断 说明
- Oracle 中length 與lengthb 介紹
- oracle中length()与lengthb()区别
- oracle中length()与lengthb()区别
- oracle length与lengthb的区别
- Oracle中的length()与lengthb()的区别 ?
- 判断一个字符串里是否有中文字符
- TCP拥塞控制算法内核实现剖析(三)
- oracle常用知识点
- 文字即艺术
- ExecutorService线程池
- 全局变量、静态全局变量、静态局部变量和局部变量的区别
- Oracle Length 和 Lengthb 函数说明 .(用来判断记录值里是否有中文内容)
- spring quartz
- 第三章和第六章代码大坏味道 函数过长&Extract Method (1)
- 出帐票同时打印
- android之壁纸机制
- pymongo基本操作用例
- VS2008 2010 ExtJS4 智能提示
- Analog - 模拟信号的解调
- 交通灯管理系统