Back to OIM Explorer

dbo.QBM_FCVXMLMaskedToString

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

Source size: 1.111 characters

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

SQL60 lines
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
SQL ยท Raw9 lines
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