1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 | 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 | cs |
MSSQL 버전마다 어떤지는 모르겠지만, 적당한 함수를 못찾아서 인터넷을 검색해보니 이런 녀석이 나오드라.
사용 예)