De técnico a rudo – Script para cambiar registros a cadena

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.

 

 

Analista/Desarrollador y cofundador de QBit Mexhico. Tecnologías utilizadas Android, Java (EJB, Servlets, Faces, Groovy & Grails, Maven, Swing), .Net (C#, VB, ASP, MVC), Delphi, Spring, Hibernate, DTSx, Oracle, T-SQL, Firebird, MySQL, MongoDB, NodeJs, ReactJs (Flux). Sistemas Operativos Mac, Ubuntu y Windows.

Twitter LinkedIn 

Deja un comentario

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