请任何人给我指一下正确的方向。我要检查列是否存在,如果存在,请选择此列,否则请选择其他列
select case
when exists (
SELECT *
FROM Sys.columns c
WHERE c.[object_id] = OBJECT_ID('dbo.Municipality')
AND c.name = 'AmountTypeLabel'
)
then 1
else 0
end
检查列是否存在,然后返回0或1,但没有列名,因此无法在c中检查#
这是我在c中尝试过的#但是正如我之前所说的,没有列名称
DataTable DT;
string SQL = "";
try
{
SQL = "select case " +
" when exists( " +
" SELECT 1 " +
" FROM Sys.columns c " +
" WHERE c.[object_id] = OBJECT_ID('dbo.Municipality')" +
" AND c.name = 'AmountTypeLabel'" +
")" +
" then 1 " +
" else 0 " +
" end ";
DT = Conn.ExecuteDT(SQL);
}
catch (Exception ex)
{
throw new Exception("Unable to get Tables", ex);
}
return DT;
}
1条答案
按热度按时间h7wcgrx31#
对于现有代码,您可以通过使用下面的函数获取值,并在另一个函数中使用它:
或者你可以用
SQL Alias
在sql查询中,如下所示:然后你可以在其他函数中引用这个。下面的示例代码段-
var columnExists = cmd.ExecuteScalar();
if(columnExists.ToString() == "1")
//Do Something