zoukankan      html  css  js  c++  java
  • 计算字符串尾部空格长度

    如下面一串字符串:

    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
    Source Code

    扩展方法,如查想计算字符串的长度包含字符串尾部所有空格长度:

    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_StringLength]
    ( 
        @string NVARCHAR(MAX) 
    )
    RETURNS INT
    AS
    BEGIN    
        DECLARE @ltrim_str NVARCHAR(MAX) = LTRIM(@string)
        RETURN LEN(@string) + LEN(REVERSE(@ltrim_str)) - LEN(@ltrim_str)
    END
    Source Code

    把上面的字符串头部再添加几个空格

    DECLARE @str NVARCHAR(MAX) = N'     Insus.NET           '

  • 相关阅读:
    迪杰斯特拉_优先队列 模板
    POJ3268(Dijkstra_邻接矩阵)
    Uva-10815
    Uva-10474
    同余方程
    欧几里得算法与扩展欧几里得算法
    大整数型的加法
    Uva442
    《哲学起步》读后感 读书笔记
    《论大战略》读后感 读书笔记
  • 原文地址:https://www.cnblogs.com/insus/p/10923726.html
Copyright © 2011-2022 走看看