MYSQL无法选择日期

时间:2016-05-19 13:15:53

标签: mysql

我刚刚转储了我的数据库并恢复到了另一台服务器。它位于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服务器,但不适用于我的新本地开发服务器。

所以,除非你能告诉我如何在不改变的情况下使这个查询正常工作,否则不要打扰回复。

3 个答案:

答案 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,现在可以正常工作了。

没有人能解释为什么这个选择在我的亚马逊服务器上运行。