DECLARE @STRING AS VARCHAR(8000); SET @STRING = '123456789'; WITH CTE AS ( SELECT CAST(RIGHT(@STRING, 1) AS VARCHAR(8000)) AS REVERSE_STRING , DATALENGTH(@STRING) - 1 AS I UNION ALL SELECT REVERSE_STRING + RIGHT(LEFT(@STRING, I), 1) , I - 1 FROM CTE WHERE I > 0 ) SELECT REVERSE_STRING FROM CTE WHERE I = 0 OPTION(MAXRECURSION 8000);
wtorek, 23 listopada 2010
CTE i odwrócenie STRINGa
Dość często słyszę, że na rozmowach kwalifikacyjnych na stanowisko programisty dostaje się zadanie p.t. odwrócenie STRINGa. Oczywiście nie chodzi tu o użycie istniejącej funkcji, ale o napisanie swojej. I tu w ramach fascynacji CTE pomyślałem, że może zrobić to w T-SQL ale za pomocą pojedynczego zapytania. No i wyszło mi coś takiego :
Subskrybuj:
Komentarze do posta (Atom)
Brak komentarzy:
Prześlij komentarz