Sql ISNull、NULLIF、合并、不工作

Sql ISNull、NULLIF、合并、不工作,sql,sql-server-2000,Sql,Sql Server 2000,我有一个SQL查询,如果结果为空,我将尝试返回一个“0” 到目前为止,我已经尝试: SELECT NULLIF (Amountt, '0') AS count FROM 1Table WHERE (Operations_Day BETWEEN @startdate AND @enddate) AND (location = @Storenumber) AND (Hour = '18') SELECT ISNULL(Amountt, 0) AS count

我有一个SQL查询,如果结果为空,我将尝试返回一个“0”

到目前为止,我已经尝试:

SELECT     NULLIF (Amountt, '0') AS count
FROM         1Table
WHERE     (Operations_Day BETWEEN @startdate AND @enddate) AND (location = @Storenumber) AND (Hour = '18')

SELECT     ISNULL(Amountt, 0) AS count
FROM         1Table
WHERE     (Operations_Day BETWEEN @startdate AND @enddate) AND (location = @Storenumber) AND (Hour = '18')

SELECT CASE WHEN (Amountt IS NULL) THEN 0 ELSE Amountt END AS count
FROM         1Table
WHERE     (Operations_Day BETWEEN @startdate AND @enddate) AND (location = @Storenumber) AND (Hour = '18')

所有结果都返回一个空白字符串,这在VB.net中处理得不好。如何返回“0”

这意味着
amount
不是
NULL
。尝试改用
案例

select (case when Amountt is null or Amountt = 'NULL' or Amountt = '' then 0 else Amountt end)
如果代码不返回任何行,则可以使用聚合:

SELECT COALESCE(SUM(Amountt), '0') AS count
FROM 1Table
WHERE (Operations_Day BETWEEN @startdate AND @enddate) AND
     (location = @Storenumber) AND (Hour = '18');

它是空的。当我将其更改为基本select语句时,它返回“NULL”,我刚刚标记这是SQL Server 2000。虽然,我不知道为什么。当查询是简单的select语句时,它返回一个“NULL”值。。。知道为什么吗?@Shmewnix。它工作的原因是原始查询没有返回任何行。如果没有行,函数就没有可操作的内容。聚合查询总是返回一行(即没有
group by