sql >> Databasteknik >  >> RDS >> Sqlserver

Hur man sammanfogar alla kolumner i ett urval med SQL Server

Valfritt antal kolumner för ett givet tabellnamn;Om du behöver kolumnnamn insvept med <text>

DECLARE @s VARCHAR(500)

SELECT @s =  ISNULL(@s+', ','') + c.name   
FROM  sys.all_columns c join sys.tables  t 
            ON  c.object_id = t.object_id
WHERE t.name = 'YourTableName'

SELECT '<text>' + @s + '</text>'

SQL Fiddle Exempel här

-- RESULTS 
<text>col1, col2, col3,...</text>

Om du behöver välj sökfråga resultatuppsättning raderade med <text> sedan;

SELECT @S =  ISNULL( @S+ ')' +'+'',''+ ','') + 'convert(varchar(50), ' + c.name    FROM 
       sys.all_columns c join sys.tables  t 
       ON  c.object_id = t.object_id
WHERE t.name = 'YourTableName'


EXEC( 'SELECT ''<text>''+' + @s + ')+' + '''</text>'' FROM YourTableName')

SQL Fiddle Exempel här

--RESULTS
<text>c1r1,c2r1,c3r1,...</text>
<text>c1r2,c2r2,c3r2,...</text>
<text>c1r3,c2r3,c3r3,...</text>


  1. Långsam MySQL-starttid i GTID-läge? Storleken på binär loggfil kan vara problemet

  2. Ta reda på var MySQL är installerat på Mac OS X

  3. Hur man får den sista dagen i månaden i T-SQL

  4. Dolda funktioner i SQL Server