sql >> Database >  >> RDS >> Sqlserver

Hoe bepaalde kolommen uit een tabel te selecteren als de tabel meer dan 100 kolommen heeft?

U zou de kolomlijst kunnen genereren:

select  name + ', '
from    sys.columns
where   object_id = object_id('YourTable')
        and name not in ('column1', 'column2')

Het is mogelijk om dit direct te doen met dynamische SQL:

declare @columns varchar(max)

select  @columns = case when @columns is null then '' else @columns + ', ' end +
            quotename(name)
from    sys.columns
where   object_id = object_id('YourTable')
        and name not in ('column1', 'column2')

declare @query varchar(max)
set @query = 'select ' + @columns + ' from YourTable'
exec (@query)


  1. kopieer van de ene database naar de andere met Oracle SQL Developer - verbinding mislukt

  2. PHP MySQLi multi_query voorbereid statement

  3. Het ultieme emoji-coderingsschema

  4. TSQL:Hoe kan ik lokale tijd naar UTC converteren? (SQL-server 2008)