En SQL Server, puede usar T-SQL para obtener la definición de una columna calculada consultando sys.computed_columns
vista del catálogo del sistema.
Ejemplo 1:devolver una columna calculada
Aquí hay un ejemplo que ejecuté en mi entorno de prueba. En este caso, reduje los resultados a una sola columna calculada.
SELECT definition FROM sys.computed_columns WHERE name = 'TotalValue';
Resultado:
+----------------------+ | definition | |----------------------| | ([Quantity]*[Price]) | +----------------------+
En caso de que tenga varias columnas calculadas con el mismo nombre, también puede agregar el nombre de la tabla a WHERE
cláusula:
SELECT definition FROM sys.computed_columns WHERE name = 'TotalValue' AND OBJECT_NAME(object_id) = 'Products';
Ejemplo 2:devolver todas las columnas calculadas
En este ejemplo, devuelvo todas las columnas calculadas, junto con su definición.
SELECT OBJECT_NAME(object_id) AS [Table], name AS [Computed Column], definition FROM sys.computed_columns;
Resultado:
+----------+-------------------+--------------------------------------+ | Table | Computed Column | definition | |----------+-------------------+--------------------------------------| | Person | FullName | (concat([FirstName],' ',[LastName])) | | Products | TotalValue | ([Quantity]*[Price]) | +----------+-------------------+--------------------------------------+
Ejemplo 3:incluir el esquema
En este ejemplo me uno con sys.objects
para incluir el esquema en los resultados.
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;
Resultado:
+----------+----------+-------------------+--------------------------------------+ | Schema | Table | Computed Column | definition | |----------+----------+-------------------+--------------------------------------| | dbo | Person | FullName | (concat([FirstName],' ',[LastName])) | | dbo | Products | TotalValue | ([Quantity]*[Price]) | +----------+----------+-------------------+--------------------------------------+