Sqlserver
 sql >> база данни >  >> RDS >> Sqlserver

Как да получите дефиниция на изчислена колона в SQL Server с помощта на T-SQL

В SQL Server можете да използвате T-SQL, за да получите дефиницията за изчислена колона, като направите заявка за sys.computed_columns изглед на системен каталог.

Пример 1 – Върнете една изчислена колона

Ето пример, който пуснах в моята тестова среда. В този случай стесних резултатите само до една изчислена колона.

SELECT definition
FROM sys.computed_columns
WHERE name = 'TotalValue';

Резултат:

+----------------------+
| definition           |
|----------------------|
| ([Quantity]*[Price]) |
+----------------------+

В случай, че имате няколко изчислени колони с едно и също име, можете също да добавите името на таблицата към WHERE клауза:

SELECT definition
FROM sys.computed_columns
WHERE name = 'TotalValue'
AND OBJECT_NAME(object_id) = 'Products';

Пример 2 – Връщане на всички изчислени колони

В този пример връщам всички изчислени колони, заедно с тяхната дефиниция.

SELECT 
  OBJECT_NAME(object_id) AS [Table],
  name AS [Computed Column],
  definition
FROM sys.computed_columns;

Резултат:

+----------+-------------------+--------------------------------------+
| Table    | Computed Column   | definition                           |
|----------+-------------------+--------------------------------------|
| Person   | FullName          | (concat([FirstName],' ',[LastName])) |
| Products | TotalValue        | ([Quantity]*[Price])                 |
+----------+-------------------+--------------------------------------+

Пример 3 – Включване на схемата

В този пример се присъединявам с sys.objects за да включите схемата в резултатите.

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;

Резултат:

+----------+----------+-------------------+--------------------------------------+
| Schema   | Table    | Computed Column   | definition                           |
|----------+----------+-------------------+--------------------------------------|
| dbo      | Person   | FullName          | (concat([FirstName],' ',[LastName])) |
| dbo      | Products | TotalValue        | ([Quantity]*[Price])                 |
+----------+----------+-------------------+--------------------------------------+

  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Как да активирате ограничение на външния ключ в SQL Server (примери за T-SQL)

  2. Показване на разширени опции за конфигурация на сървъра в SQL Server (T-SQL)

  3. Естествено (човешко алфа-цифрово) сортиране в Microsoft SQL 2005

  4. Инкрементът на идентичността на колоната на SQL Server 2012 скача от 6 на 1000+ при 7-ми запис

  5. Как да настроите съпоставянето на база данни в SQL Server (T-SQL)