Funkcija za splitovanje stringova – Brojevi
Objavljeno: 27-11-2014 | Autor: Nenad Živković | Kategorija: Skriptovi
0
Preuzmi: SQLKefalo_SplitterFunkcija_Brojevi.sql
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 |
-- **************************************************************** -- www.sql-kefalo.net -- **************************************************************** -- Datum: 16.11.2014 -- Opis: Funkcija za splitovanje stringa pomocu tabele sa brojevima -- Clanak: http://www.sql-kefalo.net/2014/11/funkcije-za-splitovanje-stringova -- **************************************************************** CREATE FUNCTION [dbo].[udfKefalo_Splitter_Brojevi] ( @UlazniString NVARCHAR(MAX) , @Delimiter NVARCHAR(255) ) RETURNS @rv TABLE ( RedniBroj INT IDENTITY(1,1) , Element NVARCHAR(4000) ) AS BEGIN IF @UlazniString IS NULL RETURN ; IF @Delimiter IS NULL SET @Delimiter = ','; WITH CTE_Brojevi AS ( SELECT 1 AS Broj UNION ALL SELECT Broj + 1 FROM CTE_Brojevi WHERE Broj<=LEN(@UlazniString) ) INSERT INTO @rv (Element) SELECT LTRIM(SUBSTRING(@UlazniString, Broj, CHARINDEX(@Delimiter, @UlazniString + @Delimiter, Broj) - Broj)) FROM CTE_Brojevi WHERE Broj <= LEN(@UlazniString) AND SUBSTRING(@Delimiter + @UlazniString, Broj, LEN(@Delimiter)) = @Delimiter OPTION (MAXRECURSION 0); RETURN; END GO |