是否可以从Sql Server返回空行?

6 sql sql-server sql-server-2005 sql-server-2008

如果实际查询没有返回任何行,是否可以将查询中的所有列作为空列(非空)或空行返回

Ric*_*iwi 12

通常,如果您必须返回一个空行..

如果您的原始查询是

select a,b,c from tbl
Run Code Online (Sandbox Code Playgroud)

您可以将其转换为子查询

select t.a,t.b,t.c
from (select 1 as adummy) a
left join (
    select a,b,c from tbl  -- original query
) t on 1=1
Run Code Online (Sandbox Code Playgroud)

这确保查询的行数始终至少为一.


Phi*_*ier 5

如果您的目标是返回没有记录或空记录集/数据集的查询,则以下内容应该可以在不了解原始查询的情况下工作:

SELECT * FROM (myOriginalQuery) as mySelect WHERE 0 = 1
Run Code Online (Sandbox Code Playgroud)