I SQL Server kan du bruge T-SQL til at få definitionen for en beregnet kolonne ved at forespørge sys.computed_columns
systemkatalogvisning.
Eksempel 1 – Returner én beregnet kolonne
Her er et eksempel, som jeg kørte i mit testmiljø. I dette tilfælde indsnævrede jeg resultaterne til kun én beregnet kolonne.
SELECT definition FROM sys.computed_columns WHERE name = 'TotalValue';
Resultat:
+----------------------+ | definition | |----------------------| | ([Quantity]*[Price]) | +----------------------+
Hvis du har flere beregnede kolonner med det samme navn, kan du også tilføje tabelnavnet til WHERE
klausul:
SELECT definition FROM sys.computed_columns WHERE name = 'TotalValue' AND OBJECT_NAME(object_id) = 'Products';
Eksempel 2 – Returner alle beregnede kolonner
I dette eksempel returnerer jeg alle beregnede kolonner sammen med deres 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]) | +----------+-------------------+--------------------------------------+
Eksempel 3 – Inkluder skemaet
I dette eksempel tilslutter jeg mig med sys.objects
at inkludere skemaet i resultaterne.
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]) | +----------+----------+-------------------+--------------------------------------+