将SQL转换为DateDiff的coldfusion

将SQL转换为DateDiff的coldfusion,coldfusion,datediff,Coldfusion,Datediff,我有一个日期字段,我必须操作,基本上我有一个查询,可以获取所有信息,从这个查询中我必须分配各种信息,其中之一就是获取延迟计数器。 为了实现这一点,我必须计算所有小于或等于90天或大于或等于90天的时间 我该怎么做 下面的答案不是我想要的过去90天的所有日期 select updateDate active from a where xxxdate >= <cfqueryparam cfsqltype="cf_sql_date" value = "#dateadd('d', -90

我有一个日期字段,我必须操作,基本上我有一个查询,可以获取所有信息,从这个查询中我必须分配各种信息,其中之一就是获取延迟计数器。 为了实现这一点,我必须计算所有小于或等于90天或大于或等于90天的时间

我该怎么做


下面的答案不是我想要的过去90天的所有日期

select updateDate active
from a 
where xxxdate >= <cfqueryparam cfsqltype="cf_sql_date" 
value = "#dateadd('d', -90, now())#"> 

and xxxdate < <cfqueryparam cfsqltype="cf_sql_date" 
value = "#dateadd('d', 1, now())#"> 

将从datediff函数结果中除去时间部分

过去90天的所有日期

select updateDate active
from a 
where xxxdate >= <cfqueryparam cfsqltype="cf_sql_date" 
value = "#dateadd('d', -90, now())#"> 

and xxxdate < <cfqueryparam cfsqltype="cf_sql_date" 
value = "#dateadd('d', 1, now())#"> 

将从datediff函数结果中除去时间部分

发布抛出错误的实际代码。为什么要将其转换为CF?原始查询的结果有什么问题?不要混淆SQL函数和。虽然他们有着相同的名字,但他们有很大的不同。sql函数在数据库中对多条记录进行操作。而CF版本在CF服务器上运行,并且仅在一组日期上进行比较。此外,CF中没有
getDate()
函数。这是一个SQL Server函数。RE:在过去的90天中,您的SQL逻辑是错误的。它查找超过90天的记录。此外,如何构造
where
过滤器会影响查询性能。请参阅:。发布引发错误的实际代码。为什么要尝试将其转换为CF?原始查询的结果有什么问题?不要混淆SQL函数和。虽然他们有着相同的名字,但他们有很大的不同。sql函数在数据库中对多条记录进行操作。而CF版本在CF服务器上运行,并且仅在一组日期上进行比较。此外,CF中没有
getDate()
函数。这是一个SQL Server函数。RE:在过去的90天中,您的SQL逻辑是错误的。它查找超过90天的记录。此外,如何构造
where
过滤器会影响查询性能。见:-1。我很惊讶这次投票是以现在的形式进行的。想法是对的,但是代码有几个问题。哈哈,丹,你必须在发布之前开始测试这些东西!至少提到它没有经过测试;-)我只找到2个,错误的函数和缺少引号。每个问题发生两次。要么我遗漏了其他内容,要么我们对“几个”有不同的解释。如果您询问是否存在其他错误,测试查询将回答该问题。否则,这是一个语义问题。在我的书中,四(4)个错误已经等同于“几个”,但我看不出这种区别在这里有多大区别。我很惊讶这次投票是以现在的形式进行的。想法是对的,但是代码有几个问题。哈哈,丹,你必须在发布之前开始测试这些东西!至少提到它没有经过测试;-)我只找到2个,错误的函数和缺少引号。每个问题发生两次。要么我遗漏了其他内容,要么我们对“几个”有不同的解释。如果您询问是否存在其他错误,测试查询将回答该问题。否则,这是一个语义问题。在我的书中,四(4)个错误已经等同于“几个”,但我看不出区别在这里有多大区别。