Friday, 27 August 2021

How to split varchar value and interger value in sql server

 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

No comments:

Post a Comment