STRING_SPLIT
y para qué se usa?
STRING_SPLIT
es una función integrada de SQL Server que permite dividir una cadena de caracteres en varias partes según un delimitador especificado, como una coma (,
), un punto y coma (;
) o cualquier otro carácter separador. La salida es una tabla con una columna llamada value
que contiene cada uno de los fragmentos de la cadena original.
Esta función es ideal para:
STRING_SPLIT
es compatible a partir de SQL Server 2016, simplificando considerablemente tareas que antes requerían funciones definidas por el usuario o procedimientos más complejos.
STRING_SPLIT
STRING_SPLIT ( string, separator )
string
: La cadena que se desea dividir.
separator
: El carácter que actúa como delimitador para dividir la cadena.
STRING_SPLIT
SELECT value
FROM STRING_SPLIT('manzana,pera,banana,naranja', ',');
Resultado:
value
------
manzana
pera
banana
naranja
Cada elemento separado por comas en la cadena se convierte en una fila distinta en la salida.
STRING_SPLIT
para filtrar datos en una tabla
Supongamos que tienes una tabla llamada Productos
con una columna Categorias
que contiene listas de categorías separadas por comas:
SELECT ProductoID, Nombre, value AS Categoria
FROM Productos
CROSS APPLY STRING_SPLIT(Categorias, ',')
WHERE value = 'Electrónica';
Este ejemplo descompone la columna Categorias
en filas individuales y filtra los productos que pertenecen a la categoría "Electrónica".
Si deseas contar cuántas palabras tiene una cadena, puedes usar STRING_SPLIT
y una función de agregación:
SELECT COUNT(*) AS TotalPalabras
FROM STRING_SPLIT('SQL Server es muy potente', ' ');
Resultado:
TotalPalabras
-------------
4
Aquí STRING_SPLIT
descompone la cadena en palabras usando un espacio (
) como delimitador.
STRING_SPLIT
devuelve los elementos en el mismo orden en que aparecen en la cadena original.
Para más información sobre STRING_SPLIT
, consulta la documentación oficial de Microsoft.
Jorge García
Fullstack developer