Sqlserver
 sql >> Teknologi Basis Data >  >> RDS >> Sqlserver

Kembalikan Semua Kolom yang Tidak Dihitung dari Tabel di SQL Server

Di SQL Server, Anda dapat menggunakan sys.columns tampilan katalog sistem untuk mengembalikan daftar kolom yang tidak dihitung dari tabel.

Dengan "tidak dihitung", maksud saya hanya kolom yang bukan kolom yang dihitung.

Contoh

Berikut ini contoh untuk didemonstrasikan.

SELECT
  name AS [Column],
  TYPE_NAME(user_type_id) AS [Data Type],
  max_length,
  is_computed
FROM sys.columns
WHERE OBJECT_NAME(object_id) = 'Products'
AND is_computed = 0;

Hasil:

+-------------+-------------+--------------+---------------+
| Column      | Data Type   | max_length   | is_computed   |
|-------------+-------------+--------------+---------------|
| ProductID   | int         | 4            | 0             |
| ProductName | varchar     | 255          | 0             |
| Quantity    | smallint    | 2            | 0             |
| Price       | money       | 8            | 0             |
+-------------+-------------+--------------+---------------+

sys.columns view mengembalikan banyak kolom, jadi saya telah mempersempitnya di sini menjadi hanya segelintir.

Dalam hal ini, nama tabelnya adalah Products . Jika saya tidak memfilternya, saya akan mendapatkan daftar kolom yang sangat besar dari semua tabel (termasuk tabel sistem), tampilan, fungsi bernilai tabel, dll.

Saya menyertakan is_computed kolom di sini hanya agar Anda dapat melihat bahwa kolom ini memiliki 0 di kolom itu.

Saya kebetulan tahu bahwa tabel ini memiliki kolom terhitung yang disebut TotalValue . Ini kuerinya lagi, tetapi kali ini menampilkan semua kolom (termasuk kolom yang dihitung).

SELECT
  name AS [Column],
  TYPE_NAME(user_type_id) AS [Data Type],
  max_length,
  is_computed
FROM sys.columns
WHERE OBJECT_NAME(object_id) = 'Products';

Hasil:

+-------------+-------------+--------------+---------------+
| Column      | Data Type   | max_length   | is_computed   |
|-------------+-------------+--------------+---------------|
| ProductID   | int         | 4            | 0             |
| ProductName | varchar     | 255          | 0             |
| Quantity    | smallint    | 2            | 0             |
| Price       | money       | 8            | 0             |
| TotalValue  | money       | 8            | 1             |
+-------------+-------------+--------------+---------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menggunakan Indeks di Tabel yang Dioptimalkan Memori SQL Server

  2. Cara mengimpor file DBF di SQL Server

  3. SQL Server (localdb)\v11.0 dijelaskan

  4. SQL Server - kurangnya GABUNG ALAMI / x GABUNG y MENGGUNAKAN (bidang)

  5. EF5:Tidak dapat melampirkan file '{0}' sebagai database '{1}'