我已经完成了以下操作,以获取日期小于今天的今天计数列表。我已经完成了以下代码:
select SUM(CASE WHEN (EXPIRYDAYE>= CONVERT(date, GETDATE())) > 1
then 1
else 0
end)
from bottles;
但是,我得到这个错误:
“>”附近的语法不正确。
请注意,我需要这样做。因此,请以这种方式对我的语法有所帮助。谢谢
答案 0 :(得分:1)
您必须尝试以下操作
select SUM(CASE WHEN EXPIRYDAYE< CONVERT(date, GETDATE()) then 1 else 0 end)
在您的sql查询中,语句错误
CASE WHEN (EXPIRYDAYE>= CONVERT(date, GETDATE())) > 1 -- here last >1 is illogical
答案 1 :(得分:1)
尝试一下
SELECT
SUM(
CASE WHEN EXPIRYDAYE< CAST(GETDATE() AS DATE)
THEN 1
ELSE 0 END)
在1之前不需要>符号。
答案 2 :(得分:1)
以下简单查询应适用于您的情况。您不需要CASE WHEN
。
SELECT COUNT(*) TotalCount
FROM YOUR_TABLE WHERE EXPIRYDAYE < CAST(GETDATE() AS DATE)
请注意,我需要这样做。所以请帮我 进行计数的语法。
我不确定为什么要以更有效的查询来以特定方式进行查询。