asked on
ASKER
ASKER
create FUNCTION [dbo].[csv1] (@Source VARCHAR(MAX), @rowDelim VARCHAR(max)=',')
RETURNS @Result TABLE (ID int identity, col1 varchar(MAX))
WITH SCHEMABINDING
AS
BEGIN
IF isNull(@rowDelim,'') in (char(10),'')
BEGIN
SELECT @rowDelim = char(13)+char(10)
END
ELSE
BEGIN
SELECT @Source = replace( @Source, @rowDelim+char(13), @rowDelim )
SELECT @Source = replace( @Source, @rowDelim+char(10), @rowDelim )
END
SELECT @Source = rtrim(ltrim(@Source))
SELECT @Source = @Source+@rowDelim WHERE RIGHT(@Source,1) != @rowDelim
DECLARE @rowDelimPos int=0, @StartShift int=1, @LenSource int=len(@Source)
WHILE @StartShift <= @LenSource
BEGIN
SELECT @rowDelimPos = charindex( @rowDelim, @Source, @StartShift )
INSERT INTO @Result VALUES ( substring(@Source,@StartShift,@rowDelimPos-@StartShift) )
SELECT @StartShift = @rowDelimPos + len(@rowDelim)
END
RETURN
END
create view MyView as
select T.ID, F1.col1 as VC1, F2.col1 as VC2, F3.col1 as VC3, F4.col1 as VC4
from MyTable T
outer apply dbo.csv1( T.Value+',,,,', ',' ) F1
outer apply dbo.csv1( T.Value+',,,,', ',' ) F2
outer apply dbo.csv1( T.Value+',,,,', ',' ) F3
outer apply dbo.csv1( T.Value+',,,,', ',' ) F4
where F1.ID=1
and F2.ID=2
and F3.ID=3
and F4.ID=4
ASKER
ASKER
Microsoft SQL Server 2008 is a suite of relational database management system (RDBMS) products providing multi-user database access functionality.Component services include integration (SSIS), reporting (SSRS), analysis (SSAS), data quality, master data, T-SQL and performance tuning. Major improvements include the Always On technologies and support for unstructured data types.
TRUSTED BY
Or can there be more than one? 123kdkd,2939439,xxxyyyzzz,