SQL Puzzle | REVERSE a String Without Using Reverse Function / Recursive CTE / While Loop

In the puzzle we have an input string and you have find the reverse of the input string without using while loop, recursive cte and T-SQL reverse function.

Please check out the sample input and the expected output below-

Sample Input

InputStr
noitcnuf )(ESREVER gnisu tuo htiw gnirts a esreveR

Expected Output

InputStr OutputStr
Reverse a string with out using REVERSE() function noitcnuf )(ESREVER gnisu tuo htiw gnirts a esreveR

Solution 1 | Using Numbers Table

 ``` -- DECLARE @StringToReverse VARCHAR(55) = '' SET @StringToReverse = 'Reverse a string with out using REVERSE() function' DECLARE @Output AS VARCHAR(100) = '' IF OBJECT_ID('tempdb..#x') IS NOT NULL DROP TABLE #x SELECT NUMBER, SUBSTRING(@StringToReverse,Number,1) Chr, ROW_NUMBER() OVER (ORDER BY Number DESC) r INTO #x FROM ( SELECT DISTINCT NUMBER FROM MASTER..SPT_VALUES WHERE NUMBER > 0 AND NUMBER <= DATALENGTH(@StringToReverse) )h ORDER BY NUMBER DESC SELECT @Output=@Output+Chr FROM #x SELECT @StringToReverse InputStr , @Output OutputStr IF OBJECT_ID('tempdb..#x') IS NOT NULL DROP TABLE #x -- ```

Add a comment if you have any other solution in mind. I would love to learn it. We all need to learn.

Enjoy !!! Keep Learning

Pawan Khowal

Http://MSBISkills.com