{
Ese error “Invalid object name 'STRING_SPLIT'” normalmente significa que tu versión de SQL Server no soporta la función
STRING_SPLIT(apareció recién en SQL Server 2016 con nivel de compatibilidad 130). Si trabajas con una versión anterior, hay varias alternativas para dividir cadenas:
Alternativas a
STRING_SPLIT1. Usar funciones definidas por el usuario (UDF)
Puedes crear tu propia función para dividir cadenas. Ejemplo clásico con
CHARINDEXySUBSTRING:
---------------------------
CREATE FUNCTION dbo.SplitString
(
@string NVARCHAR(MAX),
@delimiter CHAR(1)
)
RETURNS @output TABLE (value NVARCHAR(MAX))
AS
BEGIN
DECLARE @start INT = 1, @end INT
WHILE CHARINDEX(@delimiter, @string, @start) > 0
BEGIN
SET @end = CHARINDEX(@delimiter, @string, @start)
INSERT INTO @output (value)
VALUES (SUBSTRING(@string, @start, @end - @start))
SET @start = @end + 1
END
INSERT INTO @output (value)
VALUES (SUBSTRING(@string, @start, LEN(@string) - @start + 1))
RETURN
END
----------------------------
Uso
---------------------------
SELECT value FROM dbo.SplitString('Juan,Pedro,Maria', ',');
-------------------------
Gracias a COPILOT por sugerencias
}