oracle 利用 LENGTH和LENGTHB函数区分中英文(2009-02-07 10:49:29) 转载▼ 标签: it 分类: oracle 前一段时间,我一朋友问我怎么得出这个字符串是中文还是英文,恰巧在别人的博客看到这两个函数:length() 和 lengthb()SQL> select length('ABCDE中文字符串FG') from dual; LENGTH('ABCDE中文字符串FG')---------------------------               …
一.官网的说明 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. --返回以字符为单位的长度. L…
LENGTH──返回以字符为单位的字符串长度. LENGTHB──返回以字节为单位的字符串长度,它和类型定义中的长度是一个概念,比如你定义的varchar2(10)中的10.在不同的数据库,因为字符集的不同,LENGTHB得到的值可能会不一样.比如ZHS16GBK采用两个byte位来定义一个汉字,而UTF8则用3个byte来定义一个汉字. 笔者的数据库是UTF8,测试得到以下结果. SQL> SELECT USERENV('LANGUAGE') FROM DUAL; USERENV('LANGU…
我记得我曾经在开发form的时候犯过这样一个错误,对于form中的某个字段,对应于数据库中某张表的字段,假设在数据库中这个字段一般也就用到20个汉字的长度,后来我在开发form的时候,设置item类型长度的时候,我惯性的设置成了50byte,想着就算是20个汉字,最多也就占40个byte长度嘛.可是,就因为这一个想当然,结果出现错误了,后来发现数据库字符集编码是utf8,那么应该设置为60.从那以后,每次涉及到给字段设置长度的时候,我都会特别注意下,到底是啥编码. 在Oracle中,比较常见的可…
LENGTH()函数是比较简单同时也是非常有用的一个函数,在此小记一下,加深印象以备后用! 1:先上实验的例子——我新建了一张Student表,插入了若干条测试数据,如下图所示: 2:实验LENGTH()函数 3:实验LENGTHB()函数 解释一:此处的LENGTH()函数用于获取对应字段的字符长度 解释二:此处的LENGTHB()函数用于获取对应字段的字节长度 解释三:ORACLE安装好后默认的NLS_DATE_FORMAT参数值为DD-MON-RR OK,上面的两个函数和对应的实验结果已做…
oracle获取字符串长度函数length()和lengthb()   lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算string所占的字符长度:返回字符串的长度,单位是字符 对于单字节字符,LENGTHB和LENGTH是一样的. 如可以用length(‘string’)=lengthb(‘string’)判断字符串是否含有中文. 注: 一个汉字在Oracle数据库里占多少字节跟数据库的字符集有关,UTF8时,长度为三…
先看看几个例子: select length('Oracle') from dual 结果:6 select lengthb('Oracle') from dual 结果:6 select length('甲骨文') from dual 结果:3 select lengthb('甲骨文') from dual 结果:6 [区别:] length()返回的是 字符数 lengthb()返回的是 字节数 [用途:] a.可以查询某个字段都是英文的记录 SELECT * FROM TBL_NAME W…
文章摘取自http://www.cnblogs.com/zdz8207/p/3765073.html 练习截取字符串函数(五个) mysql索引从1开始 一.mysql截取字符串函数 1.left(str,length) 从左边截取length 2.right(str,length)从右边截取length 3.substring(str,index)当index>0从左边开始截取直到结束  当index<0从右边开始截取直到结束  当index=0返回空 4.substring(str,ind…
1.replacereplace(x,y,z)返回值为将字符串X中的Y串用Z串替换后的结果字符串. replace(x,y)返回值将字符串X中为Y串的地方删除例:epacel('aaabbb','bbb','ccc')结果:aaaccc2.length表示的是字符串的字符长度 SELECT length('叶德华abc') FROM dual;结果: -- length按字符计,汉字.英文.数字都是1个字符,故这里返回6 3.lengthb表示的是字符串的字节长度: SELECT lengthb…
--字符串的字符长度 select length('wm.dfw.士农工商.sda.人马ss.dfw.4.sdf.332.sf.qq.sd') from dual; --字符串的字节长度 select lengthb('wm.dfw.士农工商.sda.人马ss.dfw.4.sdf.332.sf.qq.sd') from dual; --按字符长度截取 ,) from dual; --按字节长度截取,如汉字商在第17-19字节,则自动占位补齐,仍然为18字节 ,) from dual; ,)) f…