Dependencies for SQL scalar function: Util.dbo.OrderViewColumns

ReferencingFQN ReferencingType ReferencedFQN ReferencedType Depth RedHierarchy
Util.dbo.OrderViewColumns SQL scalar function Util.dbo.ParseDelimited SQL inline table-valued function 1 [Util].[dbo].[ParseDelimited]
Util.dbo.OrderViewColumns SQL scalar function Util.dbo.StringConcat Aggregate function (CLR) 1 [Util].[dbo].[StringConcat]
Util.dbo.ParseDelimited SQL inline table-valued function Util.dbo.ParseDelimited_CLR Assembly (CLR) table-valued function 2 [Util].[dbo].[ParseDelimited], [Util].[dbo].[ParseDelimited_CLR]
Util.dbo.StringConcat Aggregate function (CLR) Util.UtilClr ASSEMBLY 2 [Util].[dbo].[StringConcat], [Util].[UtilClr]

SQL scalar function: Util.dbo.OrderViewColumns

CREATE FUNCTION dbo.OrderViewColumns (@NewLineDelimitedColumnList VARCHAR(MAX))
RETURNS VARCHAR(MAX)
BEGIN
    RETURN(SELECT   dbo.StringConcat('    ' + tr2, ',
'
)
FROM(
SELECT TOP 999999
        TR2
FROM    dbo.ParseDelimited(REPLACE(REPLACE(REPLACE(REPLACE(@NewLineDelimitedColumnList, '    ', ' '), '    ', ' '), '   ', ' '), '  ', ' '), '
'
) a
CROSS APPLY (SELECT RTRIM(LTRIM(REPLACE(REPLACE(REPLACE(RTRIM(LTRIM(a.Field)), '[', ' '), ']', ' '), '  ', ' '))) AS TrimmedNOBrackets,
                    RTRIM(LTRIM(REPLACE(RTRIM(LTRIM(a.Field)), '  ', ' '))) AS Trimmed) b
CROSS APPLY (SELECT CASE WHEN Trimmed LIKE ',%' THEN LTRIM(SUBSTRING(Trimmed, 2, 1000))
                         ELSE Trimmed
                    END AS TR,
                    CASE WHEN TrimmedNOBrackets LIKE ',%' THEN LTRIM(SUBSTRING(TrimmedNOBrackets, 2, 1000))
                         ELSE TrimmedNOBrackets
                    END AS TRNB) c
CROSS APPLY (SELECT CASE WHEN TR LIKE '%,' THEN RTRIM(LEFT(TR, LEN(TR) - 1))
                         ELSE TR
                    END AS TR2,
                    CASE WHEN TRNB LIKE '%,' THEN RTRIM(LEFT(TRNB, LEN(TRNB) - 1))
                         ELSE TRNB
                    END AS TRNB2) d
CROSS APPLY (SELECT PATINDEX ('%[ .]%', REVERSE (TRNB2)) AS rf) e
CROSS APPLY (SELECT CASE WHEN rf = 0 THEN TRNB2 ELSE RIGHT (TRNB2, rf- 1) END AS cn) f
ORDER BY cn)k)
END

Description for SQL scalar function: Util.dbo.OrderViewColumns

Todo
Site Map | Printable View | © 2008 - 2012 NuRoN Consulting, INC | Powered by mojoPortal | HTML 5 | CSS | Original design by Andreas Viklund
Share This Using Popular Bookmarking Services