我有问题,我不认为这是否是一个错误,为什么我不能获得当前日期的所有数据库。我的表格列中的order_date是客户当天的订单。但是我无法基于脚本获取数据,但是我在脚本上所做的是DATE(order_date)= CURDATE()
今天是客户的订购日期:
这是我拥有的脚本:
SELECT op.order_id,op.customer_id,customer_name,customer_number,op.or_number,delivery_status,
order_ship_address,delivery_status,order_date,amount,driver_firstname,transaction_number
FROM order_properties as op
LEFT JOIN (SELECT customer_id,order_id,amount,subtotal FROM payment) p
ON op.order_id = p.order_id
LEFT JOIN (SELECT customer_id,customer_name,customer_location,customer_number FROM customer_details)
cd ON op.customer_id = cd.customer_id LEFT JOIN (SELECT driver_id,driver_firstname FROM driver) drive
ON op.driver_id = drive.driver_id WHERE DATE(order_date)=CURDATE()
你们看到的是,我没有任何数据,但是order_date是今天。
参考:
答案 0 :(得分:0)
我猜您有一个时区问题。在我读到这篇文章的时候,当前日期是2019-06-09,而不是2019-06-10(在大多数其他人居世界中都使用它)。
这也许可以解释结果中的差异。
我还建议您将逻辑写为:
order_date >= CURDATE() and
order_date < CURDATE() + interval 1 day
这与时区问题无关,但确实允许使用索引。