dbo.QBM_FCVXMLMaskedToString
Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB
Interpretation
- Database function. Usually supports views, validation, or calculated predicates; look at referenced-by entries for callers.
Relations
- No extracted relations.
Typed Edges
- No typed edges extracted for this source.
References
- No direct source references extracted.
Referenced By
- No direct source references extracted.
Complete Source
1CREATE FUNCTION dbo.QBM_FCVXMLMaskedToString(2 @in nvarchar(max)3) RETURNS nvarchar(max4)5AS6BEGIN7 DECLARE @out nvarchar(max)8 DECLARE @Zeichen nvarchar(max)9 DECLARE @len int10 DECLARE @i int11 DECLARE @CharacterCoding int12 DECLARE @CompareLen int13 DECLARE @isTableFilled BIT = 014 DECLARE @umsetz TABLE(NumCoding int,15 XMLSnippet nvarchar(100),16 compareLen int)17 SELECT @len = len(@in)18 SELECT @i = 119 SELECT @out = N ''20 WHILE @i <= @len21 BEGIN22 SELECT23 @zeichen = substring(@in,24 @i,25 1)26 SELECT @CharacterCoding = unicode(@zeichen)27 IF @CharacterCoding <> 3828 BEGIN29 SELECT30 @out = CONCAT(@out,31 @Zeichen)32 SELECT @i = @i+1 CONTINUE33 END34 IF @isTableFilled = 035 BEGIN36 INSERT INTO @umsetz(NumCoding,37 XMLSnippet,38 compareLen)39 SELECT40 v.NumCoding,41 v.XMLSnippet,42 len(v.XMLSnippet)43 FROM QBM_VCharacterSpecial v44 SELECT @isTableFilled = 145 END46 SELECT47 TOP 1 @CharacterCoding = u.NumCoding,48 @CompareLen = u.compareLen49 FROM @umsetz u50 WHERE51 substring(@in,52 @i,53 20) LIKE u.XMLSnippet + '%' collate SQL_Latin1_General_CP1_CS_AS54 SELECT55 @out = CONCAT(@out,56 nchar(@CharacterCoding))57 SELECT @i += @CompareLen58 END59 RETURN(@out)60END
Open raw exported source
1 create function dbo.QBM_FCVXMLMaskedToString (@in nvarchar(max) ) returns nvarchar(max) as begin declare @out nvarchar(max) declare @Zeichen2 nvarchar(max) declare @len int declare @i int declare @CharacterCoding int declare @CompareLen int declare @isTableFilled bit = 0 declare @umsetz table3 (NumCoding int , XMLSnippet nvarchar(100) ,compareLen int ) select @len = len(@in) select @i = 1 select @out = N'' while @i <= @len begin select @zeichen4 = substring(@in, @i, 1) select @CharacterCoding = unicode(@zeichen) if @CharacterCoding <> 38 begin select @out = concat(@out , @Zeichen) select @i =5 @i+1 continue end if @isTableFilled = 0 begin insert into @umsetz(NumCoding, XMLSnippet, compareLen) select v.NumCoding, v.XMLSnippet, len(v.XMLSnippet6) from QBM_VCharacterSpecial v select @isTableFilled = 1 end select top 1 @CharacterCoding = u.NumCoding , @CompareLen = u.compareLen from @umsetz u where7 substring(@in, @i, 20) like u.XMLSnippet + '%' collate SQL_Latin1_General_CP1_CS_AS select @out = concat(@out , nchar(@CharacterCoding)) select @i +=8 @CompareLen end return(@out) end 9