我刚刚转储了我的数据库并恢复到了另一台服务器。它位于Amazon RDS上,现在是本地VM。
我的选择都不再有效。
select * from losses where date_selected = "2016-05-18";
这适用于我的实时Amazon服务器,但不适用于我的新本地开发服务器。
当然这只是一个区域性环境?
SELECT @@system_time_zone;
给予BST但是在亚马逊的盒子上它给出了UTC
米克
Field Type Null Key Default Extra
id int(10) unsigned NO PRI auto_increment
created_at timestamp NO 0000-00-00 00:00:00
updated_at timestamp NO 0000-00-00 00:00:00
deleted_at timestamp YES
product_id int(10) unsigned NO MUL
date_selected timestamp NO 0000-00-00 00:00:00
id created_at updated_at deleted_at product_id date_selected
33611 18/05/2016 13:40:09 18/05/2016 13:40:09 99143 18/05/2016 01:00:00
33648 18/05/2016 16:47:16 18/05/2016 16:47:16 108218 18/05/2016 01:00:00
33651 18/05/2016 16:48:58 18/05/2016 16:48:58 100368 18/05/2016 01:00:00
注意:
这适用于我的实时Amazon服务器,但不适用于我的新本地开发服务器。
所以,除非你能告诉我如何在不改变的情况下使这个查询正常工作,否则不要打扰回复。
答案 0 :(得分:0)
由于您正在使用时间戳,我认为您的查询应该如下所示
select * from losses where DATE(date_selected) = "2016-05-18";
答案 1 :(得分:0)
你可能有转换问题的日期
select * from losses where str_to_date(date_selected, '%Y-%m-%d') = "2016-05-18";
答案 2 :(得分:0)
我已经在开发服务器上将数据类型从timestamp更改为date,现在可以正常工作了。
没有人能解释为什么这个选择在我的亚马逊服务器上运行。