2013-02-19 60 views
0

我有一个查询需要返回ShipDate在日期范围之间的记录。下面的查询工作:日期之间的SQL语法

$query = "SELECT ECCustomerOrder.ShipDate, 
ECCustomers.Customer, 
ECCustomerOrder.PO, 
ECCustomerOrder.TotalCases, 
ECCustomerOrder.order_number 
FROM ECCustomerOrder INNER JOIN ECCustomers ON ECCustomerOrder.ID = ECCustomers.ID 
WHERE ECCustomerOrder.ShipDate >= $todayMinus"; 

$ todayMinus是一个PHP变量早些时候在接受当前日期减去15天脚本设置。我不能去工作如下:

$query = "SELECT ECCustomerOrder.ShipDate, 
ECCustomers.Customer, 
ECCustomerOrder.PO, 
ECCustomerOrder.TotalCases, 
ECCustomerOrder.order_number 
FROM ECCustomerOrder INNER JOIN ECCustomers ON ECCustomerOrder.ID = ECCustomers.ID 
WHERE ECCustomerOrder.ShipDate BETWEEN $todayMinus AND $todayPlus"; 

,这是什么SQL查询的正确语法为$ todayMinus和$ todayPlus的ShipDates之间返回记录?

+0

这是MySQL的?你需要包括今天的结果?为什么它不起作用? – Lamak 2013-02-19 19:13:08

回答

3

假设您使用的是明码日期,您必须引用它们。

例如

ShipDate BETWEEN 2013-01-01 AND 2013-02-19 

是不正确的,因为2013-01-01是减法,你实际上是在做

ShipDate BETWEEN 2011 AND 1992 

尝试

ShipDate BETWEEN '$todayMinus' AND '$todayPlus' 
+0

啊,很好。 – iamnotmaynard 2013-02-19 19:16:48

+0

就是这些,Marc。谢谢你的提示。 – Sterve 2013-02-19 19:21:32