Buenas tardes mis estimados seguidores 😀 Bueno hemos estado bastante ocupados por acá (El Qbil Felino) y nos hemos dedicado a programar un buen rato, es por esto que les comparto un script que me parece muy útil ya que convierte los resultados de una consulta a una cadena. ¡Manos a lo obra!
Primero imaginemos que tenemos la siguiente tabla:
CREATE TABLE [dbo].Cliente( id [BIGINT] IDENTITY(1,1) NOT NULL, nombre [VARCHAR](50) NULL, CONSTRAINT [PK_Cliente] PRIMARY KEY CLUSTERED ( [id] ASC ) ) ON [PRIMARY] |
Ahora con los siguientes valores:
INSERT INTO Cliente VALUES('Patito S.A. de C.V.') INSERT INTO Cliente VALUES('Pollito S.A. de C.V.') INSERT INTO Cliente VALUES('Vaca S.A. de C.V.') INSERT INTO Cliente VALUES('Toro S.A. de C.V.') INSERT INTO Cliente VALUES('Gallo S.A. de C.V.') INSERT INTO Cliente VALUES('Camaleon S.A. de C.V.') |
Por último, queremos obtener los nombres de los clientes separados por el caracter punto y coma (;). Para esto utilizamos el siguiente script:
DECLARE @SQL NVARCHAR(1000) DECLARE @clientes NVARCHAR(1000) BEGIN SET @SQL = N'SET @clientesOUT = '''' SELECT @clientesOUT = @clientesOUT + ''; '' + nombre FROM Cliente' EXEC sp_executesql @SQL, N'@clientesOUT NVARCHAR(2000) OUTPUT', @clientesOUT = @clientes OUTPUT SET @clientes = RIGHT(@clientes, LEN(@clientes)-2) SELECT @clientes END |
Ahora queda de ustedes si quieren meter la funcionalidad a una Función o hacer buen uso de ella.