Dividir una cadena separada por comas en SQL
Aprende a dividir una cadena separada por comas en una tabla mediante una función SQL 😎

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

Deja una respuesta

Tu dirección de correo electrónico no será publicada. Los campos obligatorios están marcados con *