Aru*_*hny 32 sql-server datalength
最近我len()在查询中使用查找查询的长度时遇到了一个问题,len()不计算值中的尾随空格.但是datalength()也在计算尾随空间.
这是否意味着,如果我做了一些操作与价值的实际长度涉及然后我不得不使用dalalength()过len().
例如:如果我需要特定值的值是10个字符长度.即如果值为3个字符长度,我要向其附加7个空格.
问候
Joe*_*ung 36
小心. DATALENGTH返回使用的字节数,而不是字符数.
RaY*_*ell 21
是的,这正是你必须做的.如果你想获得除空格之外的字符数,你可以使用LEN()函数,而在所有其他情况下DATALENGTH().
甚至LEN()文档都有一个信息,可以获得代表您应该使用的扩展名的字节数DATALENGTH()
以下是MSDN文档的链接:
SQL*_*ace 11
len计算使用的字符数而不是所需的存储空间,当使用nvarchar而不是varchar时,这将更加明显
len也不计算尾随空格
看看这个
declare @v nchar(5)
select @v ='ABC '
select len(@v),datalength(@v)
Run Code Online (Sandbox Code Playgroud)
len的输出为3,而datalength的输出为10