TSQL(SSMS)有条件地仅有条件地显示查询结果

TSQL (SSMS) conditionally display result of query only conditionally

是否可以在 TSQL (SSMS) window 中有条件地显示在查询的 results-window 中?

例如,显示 column-header 和结果:

SELECT COUNT(1) AS ourCount FROM [ourDatabase].[dbo].[ourTable]

如果它 > 0

注意:我们使用 SQL Server 2008,r-2

这是在具有许多结果的更大查询系统的上下文中。如果此特定查询具有 zero-value,我不想弄乱结果。当然,这个概念可以推广到其他情况。

所以我正在监视查询输出,可以将结果视为对我自己的 'alert'(非正式)。

这会将结果压入一个变量,然后只在它大于零时显示它,你也可以使用 PRINT 等。

DECLARE @Count INT;
SELECT @Count = COUNT(1) AS ourCount FROM [ourDatabase].[dbo].[ourTable];
IF @Count > 0
BEGIN
    SELECT @Count;
END;

如果答案 <= 0 那么您将在 SSMS 的消息部分中看到除了行数之外的任何内容。您甚至可以通过添加以下内容来停止此操作:

SET NOCOUNT ON;

...在脚本的顶部,但记得添加:

SET NOCOUNT OFF;