Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Tsql 如何计算列中的日期是否来自上个月_Tsql_Count_Countif - Fatal编程技术网

Tsql 如何计算列中的日期是否来自上个月

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

对于我们的抵押贷款,我们跟踪“锁定日期”。我想编写一个表达式,计算上个月发生的锁定日期数(我们的sql系统中有一个令牌,用于上个月的开始、上个月的结束或上个月的名称)

这是我所知道的,但我一直得到一个错误:

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
可能的重复可能的重复