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

Cara Mendapatkan Definisi Kolom Terhitung di SQL Server menggunakan T-SQL

Di SQL Server, Anda dapat menggunakan T-SQL untuk mendapatkan definisi kolom yang dihitung dengan menanyakan sys.computed_columns tampilan katalog sistem.

Contoh 1 – Mengembalikan Satu Kolom yang Dihitung

Berikut adalah contoh yang saya jalankan di lingkungan pengujian saya. Dalam hal ini saya mempersempit hasilnya menjadi hanya satu kolom yang dihitung.

SELECT definition
FROM sys.computed_columns
WHERE name = 'TotalValue';

Hasil:

+----------------------+
| definition           |
|----------------------|
| ([Quantity]*[Price]) |
+----------------------+

Jika Anda memiliki beberapa kolom yang dihitung dengan nama yang sama, Anda juga dapat menambahkan nama tabel ke WHERE klausa:

SELECT definition
FROM sys.computed_columns
WHERE name = 'TotalValue'
AND OBJECT_NAME(object_id) = 'Products';

Contoh 2 – Mengembalikan Semua Kolom yang Dihitung

Dalam contoh ini saya mengembalikan semua kolom yang dihitung, beserta definisinya.

SELECT 
  OBJECT_NAME(object_id) AS [Table],
  name AS [Computed Column],
  definition
FROM sys.computed_columns;

Hasil:

+----------+-------------------+--------------------------------------+
| Table    | Computed Column   | definition                           |
|----------+-------------------+--------------------------------------|
| Person   | FullName          | (concat([FirstName],' ',[LastName])) |
| Products | TotalValue        | ([Quantity]*[Price])                 |
+----------+-------------------+--------------------------------------+

Contoh 3 – Sertakan Skema

Dalam contoh ini saya bergabung dengan sys.objects untuk menyertakan skema dalam hasil.

SELECT 
  SCHEMA_NAME(o.schema_id) AS [Schema],
  OBJECT_NAME(cc.object_id) AS [Table],
  cc.name AS [Computed Column],
  cc.definition
FROM sys.computed_columns cc
INNER JOIN sys.objects o
ON o.object_id = cc.object_id;

Hasil:

+----------+----------+-------------------+--------------------------------------+
| Schema   | Table    | Computed Column   | definition                           |
|----------+----------+-------------------+--------------------------------------|
| dbo      | Person   | FullName          | (concat([FirstName],' ',[LastName])) |
| dbo      | Products | TotalValue        | ([Quantity]*[Price])                 |
+----------+----------+-------------------+--------------------------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Menghitung Running Total dengan OVER Clause dan PARTITION BY Clause di SQL Server

  2. SQL Server:Cara memilih semua hari dalam rentang tanggal meskipun tidak ada data selama beberapa hari

  3. Bagaimana cara mengembalikan angka acak sebagai kolom di SQL Server 2005?

  4. C# Setara dengan Tipe Data SQL Server

  5. Memodifikasi Pekerjaan Agen SQL Server (T-SQL)