如何使用MySQL正确获取日期列当前日期的所有数据库

时间:2019-06-09 23:44:31

标签: mysql sql

我有问题,我不认为这是否是一个错误,为什么我不能获得当前日期的所有数据库。我的表格列中的order_date是客户当天的订单。但是我无法基于脚本获取数据,但是我在脚本上所做的是DATE(order_date)= CURDATE()

今天是客户的订购日期:

customer_order_date

这是我拥有的脚本:

script

    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是今天。

参考:

Order Date

1 个答案:

答案 0 :(得分:0)

我猜您有一个时区问题。在我读到这篇文章的时候,当前日期是2019-06-09,而不是2019-06-10(在大多数其他人居世界中都使用它)。

这也许可以解释结果中的差异。

我还建议您将逻辑写为:

order_date >= CURDATE() and
order_date < CURDATE() + interval 1 day

这与时区问题无关,但确实允许使用索引。