Получите список вычисляемых столбцов в таблице базы данных (SQL Server)

Какой-либо из Вас знал бы, как получить список вычисляемых столбцов в таблице базы данных SQL Server?

Я нашел, что sys.sp_help имя таблицы действительно возвращает эту информацию, но только во втором наборе результатов.

Я пытаюсь узнать, существует ли лучший способ сделать это. Что-то, что только возвращает единственный набор результатов.

35
задан Dale K 8 August 2019 в 21:26
поделиться

1 ответ

Check the sys.columns system catalog view:

SELECT *
FROM sys.columns
WHERE is_computed = 1

This gives you all computed columns in this database.

If you want those for just a single table, use this query:

SELECT *
FROM sys.columns
WHERE is_computed = 1
AND object_id = OBJECT_ID('YourTableName')

This works on SQL Server 2005 and up.

UPDATE: There's even a sys.computed_columns system catalog view which also contains the definition (expression) of the computed column - just in case that might be needed some time.

SELECT *
FROM sys.computed_columns
WHERE object_id = OBJECT_ID('YourTableName')
59
ответ дан 27 November 2019 в 06:38
поделиться