SQL Server中字符串函数LEN 和 DATALENGTH辨析
来源:互联网 发布:mac 迅雷 bt 速度0 编辑:程序博客网 时间:2024/05/16 06:18
LEN:返回指定字符串表达式的字符(而不是字节)数,其中不包含尾随空格。
DATALENGTH:返回用于表示任何表达式的字节数。
示例1:(相同,返回结果都为5):
- select LEN ('sssss')
- select DATALENGTH('sssss')
示例2:(不相同,DATALENGTH是LEN的两倍):
- select LEN(N'sssss')
- select DATALENGTH(N'sssss')
示例3:(不相同,DATALENGTH是LEN的两倍多,由于LEN计算时不包含尾空格):
- select LEN(N'sssss ')
- select DATALENGTH(N'sssss ')
示例4:(不相同,DATALENGTH是LEN的两倍,由于LEN计算时不包含尾空格,但包含头部空格)
- select LEN(N' sssss')
- select DATALENGTH(N' sssss')
注意:当变量为null时,LEN,DATALENGTH都为null
- DECLARE @MyVar VARCHAR(10)
- SET @MyVar = NULL
- select LEN(@MyVar)
- select DATALENGTH(@MyVar)
DATALENGTH()函数返回一个用于对值进行管理的字节数,这有助于揭示不同数据类型间的一些有趣差别。当把varchar类型传递给DATALENGTH()和LEN()函数时,它们将返回相同的值:
DECLARE @Value varchar(20) SET @Value = 'abc' SELECT DATALENGTH(@Value) SELECT LEN(@Value) 这些语句的返回值都为3。因为varchar类型使用了3个单字节字符来存储三个字符的值。然而,如果使用nVarchar类型来管理相同长度的值,就要占用多一倍的字节:
DECLARE @Value nvarchar(20) SET @Value = 'abc' SELECT DATALENGTH(@Value) SELECT LEN(@Value) DATALENGTH()函数返回值为6,因为每个使用Unicode字符集的字符都要占用2个字节。LEN()函数返回值为3,因为这个函数返回字符数,不是字节数。以下是一个有趣的测试:要存储一个值为2的整型变量,要占用多少个字节?而如果要存储一个值为20亿的整型变量,又将占用多少个字节呢?试一下:
DECLARE @Value1 int, @Value2 int SET @Value1 = 2 SET @Value2 = 2000000000 SELECT DATALENGTH(@Value1) SELECT LEN(@Value1) SELECT DATALENGTH(@Value2) SELECT LEN(@Value2) 在这两种情况下,DATALENGTH()函数都返回4。因为int类型不论值是多少,总是使用4个字节。LEN()函数本质上将整型值当成已转换成字符型的数据来处理,所以,在这个例子中,它分别返回1和10,即值的位数。
本文来自CSDN博客,转载请标明出处:http://blog.csdn.net/Hello_World_wusu/archive/2009/10/14/4667452.aspx
- SQL Server中字符串函数LEN 和 DATALENGTH辨析
- SQL Server中字符串函数LEN 和 DATALENGTH辨析
- SQL Server中字符串函数LEN 和 DATALENGTH辨析
- SQL Server中字符串函数LEN 和 DATALENGTH比对
- SQL Server中DataLength函数和Len函数的区别
- SQL Server中DataLength函数和Len函数的区别
- SQL Server中DataLength函数和Len函数的区别
- SQL Server中DataLength函数和Len函数的区别
- SQL Server中DataLength函数和Len函数的区别
- SQL Server中的DataLength和Len函数
- SQL SERVER的DATALENGTH()函数和LEN()函数
- SQL Server中Len和DataLength的区别
- SQL中LEN ()与DATALENGTH ()
- SQL Server中DataLength()与Len()的区别
- SQL Server中字符串函数LEN
- SQL Server中字符串函数LEN()
- SQLServer中DataLength()和Len()两内置函数的区别
- Len和DataLength
- JavaScript获取格式化日期格式
- JAVA环境变量JAVA_HOME、CLASSPATH、PATH设置详解
- 测试1203
- AVL树的插入与删除,重点是四种旋转
- 在VNC远程桌面环境Xfce4中Tab键失效的解决方法
- SQL Server中字符串函数LEN 和 DATALENGTH辨析
- NSPredicate及正则的一点使用
- STA15首测-题解
- [zip文件] 感觉比xListview、xScrollView好用的一个上拉加载
- (Eclipse)创建你的第一个android项目
- Android SQLite数据库相关知识
- Android将Activity打成jar包供第三方调用(解决资源文件不能打包的问题)
- 自定义 Pacemaker OCF 资源(转)
- 安卓入门Java核心技术知识点串接路线图