Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/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
Sql 四天前的ColdFusion查询_Sql_Coldfusion - Fatal编程技术网

Sql 四天前的ColdFusion查询

Sql 四天前的ColdFusion查询,sql,coldfusion,Sql,Coldfusion,我想查询4天前的订单信息。但是,我无法完全让查询使用一天中的24小时: <cfquery name="rsByDate" datasource="#request.dsn#"> SELECT tbl_customers.cst_FirstName , tbl_customers.cst_LastName , tbl_customers.cst_Email , tbl_orders.order_ID

我想查询4天前的订单信息。但是,我无法完全让查询使用一天中的24小时:

<cfquery name="rsByDate" datasource="#request.dsn#">
    SELECT tbl_customers.cst_FirstName
            , tbl_customers.cst_LastName
            , tbl_customers.cst_Email
            , tbl_orders.order_ID
            , tbl_orders.order_Date
    FROM  tbl_customers INNER JOIN tbl_orders 
               ON tbl_customers.cst_ID = tbl_orders.order_CustomerID
    WHERE tbl_orders.order_Date >= #CreateODBCDateTime(DateAdd("d",-5,Now()))#
    AND   tbl_orders.order_Date <= #CreateODBCDateTime(DateAdd("d",-4,Now()))#
    AND   order_Status = 3
    ORDER BY tbl_orders.order_Date DESC
</cfquery>
我希望实现的是执行此查询,然后使用cfmail要求客户在订单标记为状态3“已发货”四天后查看我们


我想我的日期设置不太正确。我哪里出错了?

这是因为您现在将筛选日期建立在有时间成分的基础上。所以现在4点对我来说是2012年11月5日,但在下午12点10分。您只希望对筛选器使用日期部分


无论如何,您都不应该在SQL字符串中硬编码动态值,因此首先使用参数化动态值,然后使用CF_SQL_DATE作为类型,它应该只传递日期,而不是日期/时间。我目前无法为您测试这一点,但请尝试一下。。。如果它仍然传递日期/时间的时间部分,则使用createDate创建一个仅包含该日期部分的日期对象。

Hi Adam,感谢您的回复。这就是你的想法吗?选择tbl_customers.cst_FirstName、tbl_customers.cst_LastName、tbl_customers.cst_Email、tbl_orders.order_ID、tbl_orders.order_Date FROM tbl_customers内部加入tbl_customers.cst_ID=tbl_orders.order_CustomerID其中tbl_orders.orders.order_Date=和order_Status=3 order BY tbl_orders.orders.orders_Date DESC右键。。。从我说的地方继续读下去。。如果它仍然传递日期/时间的时间部分…,它会继续说,然后使用createDate创建一个只包含日期部分的日期对象。@user1812107从注释中很难看出,但看起来您删除了日期逻辑的AND部分。您的示例仅在确切日期匹配。我想你还是需要像以前一样查询两人之间的日期。明白了,亚当,非常感谢你的帮助!我的理解是,一旦我们有了日期,我们就可以在=语句中搜索该日期。我忘了添加起始日期和结束日期。一旦我这样做了,它就会回复我的客户。谢谢