Oracle Length 和 Lengthb 函数说明 .(用来判断记录值里是否有中文内容)
2011-12-19 16:46
519 查看
一.官网的说明
http://download.oracle.com/docs/cd/E11882_01/server.112/e26088/functions088.htm#SQLRF00658Purpose
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 中文记录 及 乱码 判断 说明
- 判断Oracle记录是否含中文字
- 用oracle函数判断字符串中是否包含中文
- Oracle PLSQL Demo - 22.查看字符串的长度[lengthb, length],判断字符串是否包含中文
- 用oracle函数判断字符串中是否包含中文
- Oracle中如何判断是否为数字函数
- oracle中判断一个字符串是否全部为数字的函数-translate
- 判断输入是否为中文的函数
- oracle中判断一个字符串是否全部为数字的函数
- oracle判断字段内容是否为空
- Oracle Length 和 Lengthb 函数说明 笔记
- sql server 中判断是否为中文的函数
- 判断Oracle字段中是否存在中文《asciistr函数》
- oracle自定义判断数据是否为数值函数
- 请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径。路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格子。如果一条路径经过了矩阵中的某一个格子,则该路径不能再进入该格子。 例如 a b c e s f c s a d e e 矩阵中包含一条字符串"bccced"的路径,但是矩阵中不包含"abcb"路径,因为字符串的第一个字符b占据了矩阵中
- /*编写程序,其中自定义一函数,用来判断一个整数是否为素数,主函数输入一个数,输出是否为素数*/
- Strchr()函数是用来判断一个字符是否在一个字符串中出现 strtok
- Oracle SQL判断字符串是否在目标字符串中的函数
- 用js判断输入是否为中文的函数