FUNCION SPLIT PARA SQL SERVER
Hola a todos, aqui os traigo una función para hacer split en sql server, la verdad es muy util para separar textos contatenados.
Aqui la Función
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 |
CREATE FUNCTION [dbo].[Split] ( @Texto VARCHAR(MAX), @Delimitador CHAR(1) ) RETURNS @output TABLE(Datos VARCHAR(MAX) ) BEGIN DECLARE @Empieza INT, @Termina INT SELECT @Empieza = 1, @Termina= CHARINDEX(@Delimitador , @Texto ) WHILE @Empieza < LEN(@Texto ) + 1 BEGIN IF @Termina = 0 SET @Termina = LEN(@Texto ) + 1 INSERT INTO @output (Datos) VALUES(SUBSTRING(@Texto , @Empieza , @Termina - @Empieza )) SET @Empieza = @Termina + 1 SET @Termina = CHARINDEX(@Delimitador , @Texto , @Empieza ) END RETURN END |
Ahora lo podrias probar lazando por ejemplo esta select:
1 |
SELECT * FROM dbo.Split('LA WEB,DE,SOULSMAKERS', ',') |
y el resulado a mostrar seria este.
DATOS
LA WEB
DE
SOULSMAKERS
Hasta aqui la funcion y espero que os sirva y suscribete.