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]) | +----------+----------+-------------------+--------------------------------------+