SQL Server中DataLength函数和Len函数的区别
来源:互联网 发布:手机pdf修改软件 编辑:程序博客网 时间:2024/04/30 02:49
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,即值的位数。
- 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 Server中字符串函数LEN 和 DATALENGTH辨析
- SQL Server中字符串函数LEN 和 DATALENGTH辨析
- SQL Server中字符串函数LEN 和 DATALENGTH辨析
- SQL Server中Len和DataLength的区别
- SQLServer中DataLength()和Len()两内置函数的区别
- SQL Server中DataLength()与Len()的区别
- len() 和 datalength() 的区别
- len() 和 datalength() 的区别
- DATALENGTH 和 LEN的区别
- LEN和DATALENGTH的区别
- C#内存管理
- 对bootstrap$、数据字典结构信息和open相关性的研究
- 开源项目之android-wifi-tether(网络共享软件)
- aspx net.2.0 C#获取IP,URL,浏览器,操作系统
- 淡淡的微笑,静悄悄地过
- SQL Server中DataLength函数和Len函数的区别
- linux系统启动流程分析
- Windows Server AppFabric 缓存(微软分布式缓存解决方案)
- Struts2 Jquery Json 实现AJax表单验证
- 音视频对话开发
- 那些年,我们一起学WCF--(5)数据契约继承
- microwindows位图解析
- java中计算字符串长度的方法
- 在路上