我尝试计算当前日期的记录并从日期列中传递日期
DATE
'2013-03-04 00:00:00'
'2013-02-04 00:00:00'
'2013-02-04 00:00:00'
如果今天是'2013-03-04 00:00:00'
结果应该是
CURRENT_DATE = 1 PASS_DATE = 2
我不知道如何从一个资源查询它,但在条件
的情况下不同1st - date >= '2013-03-04 00:00:00'
2nd - date < '2013-03-04 00:00:00'
请帮助
答案 0 :(得分:1)
我建议在SELECT
子句
select
(select count(*) from MyDates where DateValue < getdate()) as PastDate,
(select count(*) from MyDates where DateValue >= getdate()) as CurrentDate
您可以将getDate()
替换为日期参数或硬编码值,例如&#39; 2013-03-04&#39;如果你愿意的话。
答案 1 :(得分:0)
一种方法是查询所有日期并根据您的情况放置1 \ 0 然后再从表中再次查询列的总和。
SELECT sum([CURRENT_DATE]), sum([PASS_DATE])
FROM
(
SELECT
ID,
case when myDate >= getDate() then 1 else 0 end as [CURRENT_DATE],
case when myDate < getDate() then 1 else 0 end as [PASS_DATE]
FROM mytable
) as SourcTbl
这是一个SQL小提琴http://sqlfiddle.com/#!3/e9c19/8