Tsql 如何计算列中的日期是否来自上个月
对于我们的抵押贷款,我们跟踪“锁定日期”。我想编写一个表达式,计算上个月发生的锁定日期数(我们的sql系统中有一个令牌,用于上个月的开始、上个月的结束或上个月的名称) 这是我所知道的,但我一直得到一个错误:Tsql 如何计算列中的日期是否来自上个月,tsql,count,countif,Tsql,Count,Countif,对于我们的抵押贷款,我们跟踪“锁定日期”。我想编写一个表达式,计算上个月发生的锁定日期数(我们的sql系统中有一个令牌,用于上个月的开始、上个月的结束或上个月的名称) 这是我所知道的,但我一直得到一个错误: COUNT(LockDate) CASE WHEN LockDate BETWEEN @prevmonthstart AND @prevmonthend 将表达式更改为: COUNT(CASE WHEN LockDate BETWEEN @prevmonthstart AND @prevm
COUNT(LockDate)
CASE WHEN LockDate BETWEEN @prevmonthstart AND @prevmonthend
将表达式更改为:
COUNT(CASE WHEN LockDate BETWEEN @prevmonthstart AND @prevmonthend THEN LockDate ELSE NULL END)
你应该得到你想要的结果。完成相同任务的另一种方法是将SUM与条件表达式一起使用:
SUM(CASE WHEN LockDate BETWEEN @prevmonthstart AND @prevmonthend THEN 1 ELSE 0 END)
这可能更容易阅读。将表达式更改为:
COUNT(CASE WHEN LockDate BETWEEN @prevmonthstart AND @prevmonthend THEN LockDate ELSE NULL END)
你应该得到你想要的结果。完成相同任务的另一种方法是将SUM与条件表达式一起使用:
SUM(CASE WHEN LockDate BETWEEN @prevmonthstart AND @prevmonthend THEN 1 ELSE 0 END)
这可能更容易阅读。执行ant选项可能是将此条件放在where子句中,只需在SELECT中进行计数(*)
SELECT COUNT(*)
FROM Table
WHERE LockDate BETWEEN @prevmonthstart AND @prevmonthend
执行ant选项可能是将此条件放在where子句中,并在SELECT中简单地进行计数(*)
SELECT COUNT(*)
FROM Table
WHERE LockDate BETWEEN @prevmonthstart AND @prevmonthend
可能的重复可能的重复