I SQL Server kan du använda T-SQL för att få definitionen för en beräknad kolumn genom att fråga sys.computed_columns
systemkatalogvy.
Exempel 1 – Returnera en beräknad kolumn
Här är ett exempel som jag körde i min testmiljö. I det här fallet har jag begränsat resultaten till bara en beräknad kolumn.
SELECT definition FROM sys.computed_columns WHERE name = 'TotalValue';
Resultat:
+----------------------+ | definition | |----------------------| | ([Quantity]*[Price]) | +----------------------+
Om du har flera beräknade kolumner med samma namn kan du också lägga till tabellnamnet i WHERE
klausul:
SELECT definition FROM sys.computed_columns WHERE name = 'TotalValue' AND OBJECT_NAME(object_id) = 'Products';
Exempel 2 – Returnera alla beräknade kolumner
I det här exemplet returnerar jag alla beräknade kolumner, tillsammans med deras definition.
SELECT OBJECT_NAME(object_id) AS [Table], name AS [Computed Column], definition FROM sys.computed_columns;
Resultat:
+----------+-------------------+--------------------------------------+ | Table | Computed Column | definition | |----------+-------------------+--------------------------------------| | Person | FullName | (concat([FirstName],' ',[LastName])) | | Products | TotalValue | ([Quantity]*[Price]) | +----------+-------------------+--------------------------------------+
Exempel 3 – Inkludera schemat
I det här exemplet går jag med sys.objects
för att inkludera schemat i resultaten.
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;
Resultat:
+----------+----------+-------------------+--------------------------------------+ | Schema | Table | Computed Column | definition | |----------+----------+-------------------+--------------------------------------| | dbo | Person | FullName | (concat([FirstName],' ',[LastName])) | | dbo | Products | TotalValue | ([Quantity]*[Price]) | +----------+----------+-------------------+--------------------------------------+