CREATE FUNCTION [dbo].[fn_Split3](
@String nvarchar (max),
@Delimiter nvarchar (10) ,
@Delimiter2 nvarchar (32)
)
RETURNS @ValueTable TABLE ([Flag] NVARCHAR(32),[Value] NVARCHAR(max),[id] int)
BEGIN
DECLARE
@NextString nvarchar(max),
@FlagString nvarchar(32),
@ValueString nvarchar(32),
@Pos int,
@Pos2 int,
@NextPos int,
@CommaCheck nvarchar(1),
@id int
set @id=1
SET @NextString = ''
SET @FlagString = ''
SET @ValueString = ''
SET @CommaCheck = right(@String,1)
SET @String = @String + @Delimiter
SET @Pos = CHARINDEX(@Delimiter,@String)
SET @NextPos = 1
WHILE (@pos <> 0)
BEGIN
SET @NextString = SUBSTRING(@String,1,@Pos - 1)
SET @Pos2 = CHARINDEX(@Delimiter2,@NextString)
SET @FlagString = SUBSTRING(@NextString,1,@Pos2 - 1)
SET @ValueString = SUBSTRING(@NextString,@Pos2,LEN(@NextString))
INSERT INTO @ValueTable ( [Flag],[Value],[id]) VALUES (@FlagString,@NextString,@id)
SET @String = SUBSTRING(@String,@pos +1,LEN(@String))
SET @NextPos = @Pos
SET @pos = CHARINDEX(@Delimiter,@String)
set @id = @id +1
END
RETURN
END
declare @returnSampleValues varchar(max)
set @returnSampleValues=(select SampleValues from TYcHistory_201707 where SampleTime=(select max(SampleTime) from TYcHistory_201707 where cast(SampleTime as date)='2017/07/06 0:00:00') )
SELECT * FROM dbo.[FnSamepleValues](''+@returnSampleValues+'')
where Flag='c112'