SQL Server空结果

时间:2012-09-17 05:26:49

标签: sql sql-server

我有一个有效的SQL select,它返回一个空的结果,直到环境中发生了特定的事务。

SQL本身是否有可用的东西,允许我返回0而不是空数据集?与isNULL('',0)功能类似。显然我试过了,它没有用。

PS。遗憾的是,我无法访问数据库或环境,我安装了正在执行这些查询的代理,所以我只能用SQL来解决这个问题。

仅供参考:选择并运行任何未满足“条件”的地方(例如,LockCookie ='777777777')。如果从未满足该条件,则结果为空。但是在某些时候,查询将基于发生的一组操作/任务而成功。但我想返回0,直到该事件发生。

3 个答案:

答案 0 :(得分:3)

您可以将结果存储在临时表中,然后选中@@rowcount

select ID
into #T
from YourTable
where SomeColumn = @SomeValue

if @@rowcount = 0
  select 0 as ID
else
  select ID
  from #T

drop table #T

如果您希望将此作为一个没有临时表的查询,则可以在outer apply中将您的查询包装在一个只有一行的虚拟表中。

select isnull(T.ID, D.ID) as ID
from (values(0)) as D(ID)
  outer apply
    (
      select ID
      from YourTable
      where SomeColumn = @SomeValue        
    ) as T

答案 1 :(得分:0)

alternet方式来自代码,可以检查DataSet的数量。

DsData.Tables[0].Rows.count > 0

答案 2 :(得分:-1)

确保您的查询符合您的条件