In SQL Server können Sie T-SQL verwenden, um die Definition für eine berechnete Spalte abzurufen, indem Sie sys.computed_columns
abfragen Systemkatalogansicht.
Beispiel 1 – Eine berechnete Spalte zurückgeben
Hier ist ein Beispiel, das ich in meiner Testumgebung ausgeführt habe. In diesem Fall habe ich die Ergebnisse auf nur eine berechnete Spalte eingegrenzt.
SELECT definition FROM sys.computed_columns WHERE name = 'TotalValue';
Ergebnis:
+----------------------+ | definition | |----------------------| | ([Quantity]*[Price]) | +----------------------+
Falls Sie mehrere berechnete Spalten mit demselben Namen haben, können Sie den Tabellennamen auch zum WHERE
hinzufügen Klausel:
SELECT definition FROM sys.computed_columns WHERE name = 'TotalValue' AND OBJECT_NAME(object_id) = 'Products';
Beispiel 2 – Alle berechneten Spalten zurückgeben
In diesem Beispiel gebe ich alle berechneten Spalten zusammen mit ihrer Definition zurück.
SELECT OBJECT_NAME(object_id) AS [Table], name AS [Computed Column], definition FROM sys.computed_columns;
Ergebnis:
+----------+-------------------+--------------------------------------+ | Table | Computed Column | definition | |----------+-------------------+--------------------------------------| | Person | FullName | (concat([FirstName],' ',[LastName])) | | Products | TotalValue | ([Quantity]*[Price]) | +----------+-------------------+--------------------------------------+
Beispiel 3 – Schema einbinden
In diesem Beispiel verbinde ich mich mit sys.objects
um das Schema in die Ergebnisse aufzunehmen.
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;
Ergebnis:
+----------+----------+-------------------+--------------------------------------+ | Schema | Table | Computed Column | definition | |----------+----------+-------------------+--------------------------------------| | dbo | Person | FullName | (concat([FirstName],' ',[LastName])) | | dbo | Products | TotalValue | ([Quantity]*[Price]) | +----------+----------+-------------------+--------------------------------------+