如何将0的计数显示为NULL

Shm*_*nix 0 sql sql-server-2005

我正在制作一个程序来检查数据库中15个信用卡读卡器的交易.该计划的目的是检查读者在预定日期范围内的销售情况,以确保我们没有机械问题.一般来说,如果读者没有在预定日期范围内记录销售,则应检查读者的操作.问题是,因为我"计算"交易数量,它会出现"0"而不是NULL,我只想收到一封电子邮件,如果没有任何交易......我该如何更改如果是这样,从"0"计数到NULL?我的查询如下:

SELECT        COUNT(sTerminal) AS Terminal
FROM            CC
WHERE        (dtCreated BETWEEN @startdate AND @enddate) AND (sTerminal = 'Swiper 1')
Run Code Online (Sandbox Code Playgroud)

Jas*_*ish 6

如果您希望计数为NULL,则可以执行以下操作:

SELECT        NULLIF(COUNT(sTerminal), 0) AS Terminal
FROM            CC
WHERE        (dtCreated BETWEEN @startdate AND @enddate) AND (sTerminal = 'Swiper 1')
Run Code Online (Sandbox Code Playgroud)

如果您不想返回任何可能更有用的东西,您可以执行以下操作HAVING:

SELECT        COUNT(sTerminal) AS Terminal
FROM            CC
WHERE        (dtCreated BETWEEN @startdate AND @enddate) AND (sTerminal = 'Swiper 1')
HAVING COUNT(sTerminal) > 0
Run Code Online (Sandbox Code Playgroud)