En este artículo vamos a continuar con querys útiles.
Existen veces en las que recibimos una cadena larga con valores separados por comas, entonces queremos separarlos. Hay muchas estrategias que podemos seguir, sin embargo una forma muy útil y práctica, es crear una función en SQL Server (User defined function o UDF).
A continuación te muestro el script:
CREATE FUNCTION SPLITSTRING( @stringToSplit VARCHAR(MAX) )
RETURNS @returnList TABLE ([Name] NVARCHAR(500))
AS
BEGIN
DECLARE @name NVARCHAR(500)
DECLARE @pos INT
WHILE CHARINDEX(',', @stringToSplit) > 0
BEGIN
SELECT @pos = CHARINDEX(',', @stringToSplit)
SELECT @name = SUBSTRING(@stringToSplit, 1, @pos-1)
INSERT INTO @returnList ([Name])
SELECT @name
SELECT @stringToSplit = SUBSTRING(@stringToSplit, @pos+1, LEN(@stringToSplit)-@pos)
END
INSERT INTO @returnList ([Name])
SELECT @stringToSplit
RETURN
END
Para utilizar esta función deberías hacer algo así:
SELECT * from SPLITSTRING('HOLA,USUARIO,ESTE,ES,UN,TEXTO,DE,EJEMPLO,,,')
Eso es todo por ahora estimado crack.
Si esta entrada te ha gustado, entonces a qué esperas para compartirla? 🐿️
Créditos de imagen de portada: Foto de Yoav Farhi en Unsplash