应用掩码在SQL Server查询/视图中格式化字符串

前端之家收集整理的这篇文章主要介绍了应用掩码在SQL Server查询/视图中格式化字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
是否有一种巧妙的方法将掩码应用于sql Server查询中的字符串?

我有两个表,一个用电话号码存储为varchar,没有文字0155567890和一个电话类型,它有一个掩码用于该电话号码类型:(##)#### ####

返回字符串(对于合并文档)的最佳方法是什么,以便查询返回完全格式化的电话号码:

(01) 5556 7890

解决方法

我也需要这个,并且由于Sjuul的伪代码,我能够创建一个函数来执行此操作.
CREATE FUNCTION [dbo].[fx_FormatUsingMask] 
(
    -- Add the parameters for the function here
    @input nvarchar(1000),@mask nvarchar(1000)
)
RETURNS nvarchar(1000)
AS
BEGIN
    -- Declare the return variable here
    DECLARE @result nvarchar(1000) = ''
    DECLARE @inputPos int = 1
    DECLARE @maskPos int = 1
    DECLARE @maskSign char(1) = ''

    WHILE @maskPos <= Len(@mask)
    BEGIN
        set @maskSign = substring(@mask,@maskPos,1)

        IF @maskSign = '#'
        BEGIN
            set @result = @result + substring(@input,@inputPos,1)
            set @inputPos += 1
            set @maskPos += 1
        END
        ELSE
        BEGIN
            set @result = @result + @maskSign
            set @maskPos += 1
        END
    END
    -- Return the result of the function
    RETURN @result

END
原文链接:https://www.f2er.com/mssql/79048.html

猜你在找的MsSQL相关文章