SQL函数——LENGTH()和LENGTHB()
LENGTH()函数是比较简单同时也是非常有用的一个函数,在此小记一下,加深印象以备后用!
1:先上实验的例子——我新建了一张Student表,插入了若干条测试数据,如下图所示:
2:实验LENGTH()函数
3:实验LENGTHB()函数
解释一:此处的LENGTH()函数用于获取对应字段的字符长度
解释二:此处的LENGTHB()函数用于获取对应字段的字节长度
解释三:ORACLE安装好后默认的NLS_DATE_FORMAT参数值为DD-MON-RR
OK,上面的两个函数和对应的实验结果已做了相应的解释,得出了一个使用的小技巧:
可以使用LENGTH(‘STRING’)与LENGTHB(‘STRING’)是否相等,来判断字符串中否含有中文!
当然,也可用来过滤一定长度的字段的数据!
以下是需要稍微注意点的地方:
1:使用双引号引用且使用LENGTH()或LENGTHB()时报错,而使用单引号且使用这两个函数时返回NULL
2:当使用单引号且字符为空时,使用LENGTH()或LENGTHB()这两个函数,则返回空字符的个数,所以使用这两个函数之前最好先使用TRIM()函数过滤一下
3:使用这个简单的SQL语句来展示DD-MON-RR是什么时间格式
4:对于不同的数据库,由于字符集的不同,LENGTHB得到的值可能不一样。比如:AMERICAN_AMERICA.AL32UTF8是使用三个字节来定义一个汉字的!
5:字符与字节(源自百度百科)
字符是指计算机中使用的字母、数字、字和符号,包括:1、2、3、A、B、C、~!·#¥%……—*()——+等等。字符是人们使用的记号,抽象意义上的一个符号。 '1', '中', 'a', '$', '¥' ……
字节(Byte)是计算机信息技术用于计量存储容量和传输容量的一种计量单位,一个字节等于8位二进制数,在UTF-8编码中,一个英文字符等于一个字节,一个汉字字符储存需要3到4个字节。字节是计算机中存储数据的单元,一个8位的二进制数,是一个很具体的存储空间。0x01, 0x45, 0xFA……
参考如下:
1:http://download.oracle.com/docs/cd/E11882_01/server.112/e26088/functions088.htm#SQLRF00658
2:http://blog.csdn.net/tianlesoftware/article/details/6863797
3:http://blog.sina.com.cn/s/blog_687264e00100kzxw.html
4:http://blog.163.com/qiangyongbin2000@126/blog/static/77517819201212911256980/
5:http://www.blogjava.net/decode360/archive/2008/10/28/286814.html
SQL函数——LENGTH()和LENGTHB()的更多相关文章
- oracle获取字符串长度函数length()和lengthb()
oracle获取字符串长度函数length()和lengthb() lengthb(string)计算string所占的字节长度:返回字符串的长度,单位是字节 length(string)计算st ...
- Oracle —— 函数 length() 和 lengthb() 的区别
先看看几个例子: select length('Oracle') from dual 结果:6 select lengthb('Oracle') from dual 结果:6 select lengt ...
- Oracle / PLSQL函数 - LENGTH和LENGTHB
1.LENGTH( string1 ) 2.LENGTHB( string1 ) 在oracle中,这两个函数都有差不多意思,最大的区别在于:length 求得是字符长度,lengthb求得是字节长度 ...
- Oracle Length 和 Lengthb 函数说明 .(用来判断记录值里是否有中文内容)
一.官网的说明 http://download.oracle.com/docs/cd/E11882_01/server.112/e26088/functions088.htm#SQLRF00658 P ...
- LENGTH和LENGTHB函数,substrb截取也是同一个道理。
oracle 利用 LENGTH和LENGTHB函数区分中英文(2009-02-07 10:49:29) 转载▼ 标签: it 分类: oracle 前一段时间,我一朋友问我怎么得出这个字符串是中文还 ...
- Oracle 中的sql函数以及分页
SELECT LPAD(,'*.') "LPAD example" FROM DUAL; 1.分页查询 (1)方法一:使用 between and 来实现分页 select * ...
- oracle length and lengthb
LENGTH──返回以字符为单位的字符串长度. LENGTHB──返回以字节为单位的字符串长度,它和类型定义中的长度是一个概念,比如你定义的varchar2(10)中的10.在不同的数据库,因为字符集 ...
- SQL函数说明大全
一旦成功地从表中检索出数据,就需要进一步操纵这些数据,以获得有用或有意义的结果.这些要求包括:执行计算与数学运算.转换数据.解析数值.组合值和聚合一个范围内的值等. 下表给出了T-SQL函数的类别和描 ...
- Oracle SQL函数
Oracle将函数大致分为单行函数,聚合函数和分析函数. 单行函数分为字符函数,日期函数,转换函数,数字函数,通用函数,decode函数 一.字符函数 1)大小写控制函数 01.Lower() 全部小 ...
随机推荐
- TX Textcontrol 使用总结五——添加图片
实现如图所示效果: 实现代码如下所示: 注意,此处不做代码格式化处理... using System;using System.Collections.Generic;using System.Dra ...
- Env:VIM配置
注:文章来自于http://www.cnblogs.com/ma6174/archive/2011/12/10/2283393.html 花了很长时间整理的,感觉用起来很方便,共享一下. 我的vim配 ...
- 黄聪:如何阻止iframe里引用的网页自动跳转
今天做了个网页,要在网页里设置一个iframe,然后套用其他的网站.使用http://luanqi-cat.blogbus.com 这个网址的时候,出现了莫名其妙的问题,我的网页居然会强制自动跳转到这 ...
- PL/SQL中批量执行SQL脚本(不可把所有的语句都复制到New SQL Windows)
PL/SQL中批量执行SQL脚本,不可把所有的语句都复制到New SQL Window,因为这样会导致缓冲区过大而进程卡死! 最好的办法是将要执行的SQL脚本存放到指定文件中,如C:\insert.s ...
- VALGRIND
系统编程中一个重要的方面就是有效地处理与内存相关的问题.你的工作越接近系统,你就需要面对越多的内存问题.有时这些问题非常琐碎,而更多时候它会演变成一个调试内存问题的恶梦.所以,在实践中会用到很多工具来 ...
- ADF_Database Develop系列1_通过UML数据库开发之建Logical UML Class Model
2013-05-01 Created By BaoXinjian
- POJ 2311 Cutting Game(Nim博弈-sg函数/记忆化搜索)
Cutting Game 题意: 有一张被分成 w*h 的格子的长方形纸张,两人轮流沿着格子的边界水平或垂直切割,将纸张分割成两部分.切割了n次之后就得到了n+1张纸,每次都可以选择切得的某一张纸再进 ...
- OC错误
- C++ 局部变量的析构
http://blog.chinaunix.net/uid-52437-id-2108747.html 在一个函数内,申明一个局部类变量.则这个变量什么时候析构呢? 并不是在函数退出,释放栈空间时候析 ...
- JAVA 对象的转型
/* 对象的转型: 1.对象的向上转型 子类转成父类 默认进行 父类引用指向子类对象 2.对象的向下转型 父类转成子类 强制进行 关键字:instanceof 测试左边对象是否是右边类的实例 如果是返 ...