应用掩码在SQL Server查询/视图中格式化字符串
发布时间:2020-05-28 18:38:00 所属栏目:MsSql 来源:互联网
导读:是否有一种巧妙的方法将掩码应用于SQL Server查询中的字符串? 我有两个表,一个用电话号码存储为varchar,没有文字0155567890和一个电话类型,它有一个掩码用于该电话号码类型:(##)#### #### 返回字符串(对于合并文档)的最佳方法是什么,以便查询返回完全格式化
|
是否有一种巧妙的方法将掩码应用于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 (编辑:安卓应用网) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
