sql datalength与len区别
sql datalength与len区别
sql datalength与len区别
一、Len(string_expression)
返回指定字符串表达式的字符数,其中不包含尾随空格。(汉字和中文标点为长度1,不包含trailing space)。
用法
SELECT LEN(column_name) from table_name
备注
如果 expression 的数据类型为 varchar(max)、nvarchar(max) 或 varbinary(max),则为 bigint;否则为 int。
不可以对ntext字段进行计算
二、DataLength(expression)
函数返回用于表示任何表达式的字节数(汉字和中文标点为长度2,包含trailing space)。
用法
SELECT DataLENGTH(column_name) from table_name
三、sql datalength与len区别
1、DataLength()函数返回的是字符串字节的长度,包含后缀空格。而Len()函数返回的是字符串的字符长度,不包含后缀的空格。
2、Len()是忽略后缀空格,前缀空格或字符中间空格是包含的。
3、DataLength()函数返回的是字符串字节的长度,确切地说是字节个数;一个汉字2个字节,英文和数字或其他符号在默认1个字节,但是在unicode时也占2个字节,Len()函数返回的是字符串的字符长度,确切地说是字符个数;一个汉字一个字符。
4、DATALENGTH()函数返回一个用于对值进行管理的字节数,这有助于揭示不同数据类型间的一些有趣差别。当把varchar类型传递给DATALENGTH()和LEN()函数时,它们将返回相同的值:
DECLARE @Value varchar(20)
SET @Value = 'abc'
SELECT DATALENGTH(@Value)
SELECT LEN(@Value)
这些语句的返回值都为3。因为varchar类型使用了3个单字节字符来存储三个字符的值。
5、如果使用nVarchar类型来管理相同长度的值,就要占用多一倍的字节:
DECLARE @Value nvarchar(20)
SET @Value = 'abc'
SELECT DATALENGTH(@Value)
SELECT LEN(@Value)
DATALENGTH()函数返回值为6,因为每个使用Unicode字符集的字符都要占用2个字节。LEN()函数返回值为3,因为这个函数返回字符数,不是字节数。
6、下面这个实例中,DATALENGTH()函数都返回4。因为int类型不论值是多少,总是使用4个字节。LEN()函数本质上将整型值当成已转换成字符型的数据来处理,所以,在这个例子中,它分别返回1和10,即值的位数。
DECLARE @Value1 int, @Value2 int
SET @Value1 = 2
SET @Value2 = 2000000000
SELECT DATALENGTH(@Value1)
SELECT LEN(@Value1)
SELECT DATALENGTH(@Value2)
SELECT LEN(@Value2)
四、sql datalength与len实例
select len(' str'),len(' str str ')--返回值是4, 8
SELECT
LEN('string系'),--7
LEN('string系 '),--7
DATALENGTH('string系'),--8
DATALENGTH('string系 '),--11
LEN(N'string系'),--7
LEN(N'string系 '),--7
DATALENGTH(N'string系'),--14
DATALENGTH(N'string系 ')--20
DECLARE @d VARCHAR(20),--可变长度,非 Unicode 字符数据。
@e NCHAR(20),--n 个字符的固定长度的 Unicode 字符数据。
@f CHAR(20)--固定长度,非 Unicode 字符数据,长度为 n 个字节。
SET @d = 'abc'
SET @e = 'abc'
SET @f = 'abc'
SELECT LEN(@d) AS [LEN],DATALENGTH(@d) AS [DATALENGTH] --3,3
SELECT LEN(@e) AS [LEN],DATALENGTH(@e) AS [DATALENGTH] --3,40
SELECT LEN(@f) AS [LEN],DATALENGTH(@f) AS [DATALENGTH] --3,20
- php7用什么替代mysql(mysqli扩展无法在PHP7下升级问题的解决)
- mysql mvcc 流程(Mysql MVCC机制原理详解)
- SQL SERVER中与内存相关的计数器
- mysql函数编写(MySQL中sum函数使用的实例教程)
- SqlParameter用法
- mysqldecimal类型转换(mysql中decimal数据类型小数位填充问题详解)
- Windows2012配置SQLServer2014AlwaysOn的图解(Windows2012配置SQLServer2014AlwaysOn的图解)
- php考试复习题(php+mysql开发的最简单在线题库在线做题系统完整案例)
- mysql8.0中如何导入数据(mysql8.0.20数据目录迁移的方法)
- 怎么将mysql彻底卸载(如何把Mysql卸载干净亲测有效)
- mysql千万数据如何优化(MySQL千万级数据的表如何优化)
- sql怎么把表移到另一个数据库中(sql存储过程实例--动态根据表数据复制一个表的数据到另一个表)
- SQL replace的使用方法
- MySQL 使用事件(Events)完成计划任务(MySQL 使用事件Events完成计划任务)
- sqlserver触发器循环条件(SQL Server 利用触发器对多表视图进行更新的实现方法)
- SQL SERVER中查看一个数据库的表结构及字段
- 弄清楚了销 售 买 卖这四个字,母婴生意做起来就没那么难了(弄清楚了销售买)
- 数读 买首饰金是 投资黄金 吗 买金容易卖金难(数读买首饰金是)
- 销 售 买 卖 你真的了解这四个字了吗(销售买)
- 谢娜是得罪快乐大本营造型师了吗 全场被黑化(谢娜是得罪快乐大本营造型师了吗)
- 前《iLOOK》时装总监 《快乐大本营》御用造型师上线(快乐大本营御用造型师上线)
- 释小龙晒杀青照片 多重身份惹观众期待(释小龙晒杀青照片)
热门推荐
排行榜
- 1
- 2
- 3
- 4
- 5
- 6
- 7
- 8
- 9