我正在使用嵌入在其他一些 C# 代码中的SQL 服务器语句;并且只想检查我的表中是否存在列。
如果列(ModifiedByUSer
此处)确实存在,那么我想返回1或true;如果不是,那么我想返回0或false(或可以在 C# 中解释的类似内容)。
我已经使用了如下的 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
但不知道如何根据结果有条件地返回值/布尔值/位。非常感谢任何帮助!