Sqlserver
 sql >> Baza danych >  >> RDS >> Sqlserver

Jak wybrać określone kolumny z tabeli, jeśli tabela ma więcej niż 100 kolumn?

Możesz wygenerować listę kolumn:

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

Można to zrobić w locie za pomocą dynamicznego 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. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Nie można zmienić hasła sa w SQL Server 2008

  2. Dlaczego i kiedy LEFT JOIN z warunkiem w klauzuli WHERE nie jest równoznaczny z tym samym LEFT JOIN w klauzuli ON?

  3. Nieemocjonalne logiczne spojrzenie na konwencje nazewnictwa SQL Server

  4. Procedura składowana — zwraca tożsamość jako parametr wyjściowy lub skalar

  5. SQL Server 2008 Błąd logowania Windows Auth:Login pochodzi z niezaufanej domeny