Более краткая версия
IF COL_LENGTH('table_name','column_name') IS NULL
BEGIN
/* Column does not exist or caller does not have permission to view the object */
END
Пункт о разрешениях на просмотр метаданных относится ко всем ответам, а не только к этому.
Обратите внимание, что имя первой таблицы параметров для COL_LENGTH
может быть в формате имени из одной, двух или трех частей в соответствии с требованиями.
Пример ссылки на таблицу в другой базе данных:
COL_LENGTH('AdventureWorks2012.HumanResources.Department','ModifiedDate')
Одно из отличий этого ответа по сравнению с использованием представлений метаданных состоит в том, что такие функции метаданных, как COL_LENGTH
, всегда возвращают данные только о принятых изменениях, независимо от действующего уровня изоляции.