Я использую оператор SQL server, встроенный в некоторый другой код С#; и просто хотите проверить, существует ли столбец в моей таблице.
Если столбец (ModifiedByUSer
здесь) существует, я хочу вернуть 1 или true; если это не так, я хочу вернуть 0 или false (или что-то подобное, которое можно интерпретировать на С#).
Я использую оператор CASE, например:
SELECT cast(case WHEN EXISTS (select ModifiedByUser from Tags)
THEN 0
ELSE 1
END as bit)
Но если ModifiedByUser не существует, я получаю invalid column name
вместо возвращаемого значения.
Я также рассмотрел:
IF EXISTS(SELECT 1 FROM INFORMATION_SCHEMA.COLUMNS WHERE TABLE_NAME = 'Tags' AND COLUMN_NAME = 'ModifiedByUser')
BEGIN // Do something here to return a value
END
Но не знаю, как условно вернуть значение/bool/бит на основе результата. Любая помощь очень ценится!