Back to OIM Explorer

dbo.QBM_FCVStringToXMLMasked

Scalar FunctionSQL_SCALAR_FUNCTIONSandbox DB

Scalar Function.

Source: sandbox-db sys.sql_modules

Source size: 1.107 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

Complete Source

SQL62 lines
1CREATE FUNCTION dbo.QBM_FCVStringToXMLMasked(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 @isTableFilled BIT = 013  DECLARE @umsetz TABLE(NumCoding int primary key,14  XMLSnippet nvarchar(100))15  SELECT @len = len(@in)16  SELECT @i = 117  SELECT @out = N ''18  WHILE @i <= @len19  BEGIN20    SELECT21      @zeichen = substring(@in,22      @i,23      1)24    SELECT @CharacterCoding = unicode(@zeichen)25    IF @CharacterCoding BETWEEN 48 AND 57 OR @CharacterCoding BETWEEN 65 AND 90 OR @CharacterCoding BETWEEN 97 AND 12226    BEGIN27      SELECT28        @out = CONCAT(@out,29        @Zeichen)30    END31    ELSE32    BEGIN33      IF @isTableFilled = 034      BEGIN35        INSERT INTO @umsetz(NumCoding,36        XMLSnippet)37        SELECT38          v.NumCoding,39          XMLSnippet40        FROM QBM_VCharacterSpecial v41        SELECT @isTableFilled = 142      END43      SELECT44        @out = CONCAT(@out,45      CASE46        WHEN EXISTS(47      SELECT TOP 1 148      FROM @umsetz u49      WHERE50        u.NumCoding = @CharacterCoding) THEN51      (52      SELECT TOP 1 XMLSnippet53      FROM @umsetz u54      WHERE55        u.NumCoding = @CharacterCoding)56      ELSE @zeichen57      END)58    END59    SELECT @i = @i+160  END61  RETURN(@out)62END
Open raw exported source
SQL ยท Raw9 lines
1   create   function dbo.QBM_FCVStringToXMLMasked (@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 @isTableFilled bit = 0 declare @umsetz table (NumCoding int primary3 key , XMLSnippet nvarchar(100) ) select @len = len(@in) select @i = 1 select @out = N'' while @i <= @len begin select @zeichen = substring(@in, @i, 1)4 select @CharacterCoding = unicode(@zeichen) if @CharacterCoding between 48 and 57 or @CharacterCoding between 65 and 90 or @CharacterCoding between 975 and 122  begin select @out = concat(@out , @Zeichen) end else begin  if @isTableFilled = 0 begin insert into @umsetz(NumCoding, XMLSnippet) select v.NumCoding6, XMLSnippet from QBM_VCharacterSpecial v select @isTableFilled = 1 end select @out = concat(@out , case when exists (select top 1 1 from @umsetz u where7 u.NumCoding = @CharacterCoding ) then (select top 1 XMLSnippet from @umsetz u where u.NumCoding = @CharacterCoding ) else @zeichen end ) end  select @i8 = @i+1 end return(@out) end 9