DECLARE @RESULT VARCHAR(50);
DECLARE @data VARCHAR(100) = 'split123resultmyresult456';
DECLARE @RES_VARCHARVALUE VARCHAR(50) = '';
DECLARE @RES_INTVALUE VARCHAR(50) = '';
DECLARE DefaultCursor CURSOR LOCAL FOR
WITH CTE
AS
(
SELECT STUFF(@data, 1, 1, '') AS TXT, LEFT(@data, 1) AS Col1
UNION ALL
SELECT STUFF(TXT, 1, 1, '') AS TXT, LEFT(TXT, 1) AS Col1 FROM CTE WHERE LEN(TXT) > 0
)
SELECT Col1 FROM CTE;
OPEN DefaultCursor;
FETCH NEXT FROM DefaultCursor
INTO @RESULT;
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @RESULT
IF( @RESULT NOT LIKE '%[^0-9]%' )
BEGIN SET @RES_VARCHARVALUE = @RES_VARCHARVALUE + @RESULT END
ELSE
BEGIN SET @RES_INTVALUE = @RES_INTVALUE + @RESULT END
FETCH NEXT FROM DefaultCursor
INTO @RESULT
END;
CLOSE DefaultCursor
DEALLOCATE DefaultCursor
SELECT @RES_VARCHARVALUE
SELECT @RES_INTVALUE
DECLARE @data VARCHAR(100) = 'split123resultmyresult456';
DECLARE @RES_VARCHARVALUE VARCHAR(50) = '';
DECLARE @RES_INTVALUE VARCHAR(50) = '';
DECLARE DefaultCursor CURSOR LOCAL FOR
WITH CTE
AS
(
SELECT STUFF(@data, 1, 1, '') AS TXT, LEFT(@data, 1) AS Col1
UNION ALL
SELECT STUFF(TXT, 1, 1, '') AS TXT, LEFT(TXT, 1) AS Col1 FROM CTE WHERE LEN(TXT) > 0
)
SELECT Col1 FROM CTE;
OPEN DefaultCursor;
FETCH NEXT FROM DefaultCursor
INTO @RESULT;
WHILE @@FETCH_STATUS = 0
BEGIN
PRINT @RESULT
IF( @RESULT NOT LIKE '%[^0-9]%' )
BEGIN SET @RES_VARCHARVALUE = @RES_VARCHARVALUE + @RESULT END
ELSE
BEGIN SET @RES_INTVALUE = @RES_INTVALUE + @RESULT END
FETCH NEXT FROM DefaultCursor
INTO @RESULT
END;
CLOSE DefaultCursor
DEALLOCATE DefaultCursor
SELECT @RES_VARCHARVALUE
SELECT @RES_INTVALUE
No comments:
Post a Comment