Hola a tod@os,
Momento de traeros otro pequeño script, que os puede venir muy bien a la hora de devolver en modo registros los valores de un campo.
Para poder realizar esta tarea, lo primero que hay que revisar, es la version del servidor SQL y preparar la base de datos, ya que para que la funcion que os traigo “STRING_SPLIT” funcione, el servidor de SQL debe de ser una version SQL Server 2016 o superior.
En el caso de que sea la version que tengas, la compatibilidad de la base de datos, debe de ser la 130, te dejo aqui un pequeño script para poder revisarla y en el caso de tener que cambiarla tambien te pongo el script de actualización.
Averiguar que compatibilidad tiene la base de datos, simplemente cambia “NombreDeBaseDatos”, por el nombre de tu base de datos:
1 2 |
SELECT compatibility_level FROM sys.databases WHERE name = 'NombreDeBaseDatos'; |
Actualizar la compatibilidad de la base de datos, simplemente cambia “NombreDeBaseDatos”, por el nombre de tu base de datos:
1 2 3 |
ALTER DATABASE NombreDeBaseDatos SET COMPATIBILITY_LEVEL = 130; GO |
Y por ultimo, os dejo la sentencia que transformara los valores de un campo en registros, para ello tenemos que establecer el valor por el que va a separar la informacion, en este caso “;”
1 2 3 |
SELECT value FROM tbTabla CROSS APPLY STRING_SPLIT(CampoTabla, ';') |
Espero que te valga, a mi me salvo en alguna…