什么是SQL Server 2005中?

LEN()和数据长度()之间的区别
有帮助吗?

解决方案

DATALEN将返回用于存储所述值的字节数:

http://msdn.microsoft.com/en -us /库/ ms173486(SQL.90)的.aspx

LEN将返回字符串中的字符的数目。由于字符串可以使用单或双字节字符,这不同于在DATALENGTH你总是会得到1,无论多久单个字符是:

http://msdn.microsoft.com/en-us/library/ ms190329.aspx

其他提示

DATALENGTH返回以字节,包括末尾空格的字符串的长度。 LEN返回字符长度,不包括尾部空格。例如,

选择   LEN( '字符串'),   LEN( '字符串'),   DATALENGTH( '字符串'),   DATALENGTH( '字符串'),   LEN(N'string'),   LEN(N'string“),   DATALENGTH(N'string'),   DATALENGTH(N'string“)

将返回6,6,6,9,6,6,12,18

中的LEN()将修整(删除尾部空格)从数据。

在数据长度()函数不

实施例: 选择LEN( '测试') - 这将返回4

选择DATALENGTH( '试验') - 这将返回5

此外(来自其他奇妙和有用的答案聚集的):

DATALENGTH返回以字节的字符串的长度,包括末尾空格 http://msdn.microsoft.com/en-us /library/ms173486(SQL.90).aspx

LEN返回字符长度,不包括尾部空格 http://msdn.microsoft.com/en-us/library/ms190329。 ASPX

由于字符串可能包含一个或2个字节(Unicode)的,即使用将根据串两者的数据类型而变化的结果,以及是否有尾部空格字符串中

例如,

选择     LEN( '字符串'),     LEN( '字符串'),     DATALENGTH( '字符串'),     DATALENGTH( '字符串'),     LEN(N'string'),     LEN(N'string“),     DATALENGTH(N'string'),     DATALENGTH(N'string“)

将返回 6,6,6,7,6,6,12,14

至于为字符串数据长度()返回的字节和len(的数量)为字符数返回一个整数值。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top