如下面一串字符串:
DECLARE @str NVARCHAR(MAX) = N'Insus.NET '
为了计算得到字符串尾的空格长度,得先了解2个函数,LEN()和REVERSE(),
LEN()函数返回文本字段中值的长度,这个函数,它包含字符串头部所有空格长度,但不包含字符串尾部所有空格。
另一个函数REVERSE()是将整个字符进行反转,'abcdef' --> 'fedcba'。
SET ANSI_NULLS ON GO SET QUOTED_IDENTIFIER ON GO -- ============================================= -- Author: Insus.NET -- Create date: 2019-05-25 -- Update date: 2019-05-25 -- Description: 获取字符串尾部空格长度 -- ============================================= CREATE FUNCTION [dbo].[svf_SpaceCharacterLenthOfStringSuffix] ( @string NVARCHAR(MAX) ) RETURNS INT AS BEGIN DECLARE @ltrim_str NVARCHAR(MAX) = LTRIM(@string) RETURN LEN(REVERSE(@ltrim_str)) - LEN(@ltrim_str) END