SqlServer 获取字符串长度函数 len 返回值不包括尾部的空格

sqlserver的字符串函数中包括返回字符串长度的函数len,但在实际使用中,一定要注意,这个函数返回的值,不包括尾部的空格,比如,下面的语句:

select len('    ')

返回的结果是0。在很多场景下,这个方法不能满足需求。有人说可以使用DATALENGTH替代,但是这个函数测量的是子节数,不是字符串长度,下面的例子可以说明这个问题:

select len('一般用户1'),DATALENGTH('一般用户1')

返回的结果是5和9。所以我们只能用变通的方法解决这个问题。

我们可以用下面的方法解决这个问题:

select len('   ' +'x')-1

在字符串的尾部增加一个非空格字符串,测量长度后减一,这样可以获取包括尾部空格的长度。

你可能感兴趣的:(SqlServer 获取字符串长度函数 len 返回值不包括尾部的空格)