【问题标题】:Mysql Between and One Must Have ConditionMysql between and one 必须有条件
【发布时间】:2015-07-03 18:09:10
【问题描述】:

我确实做了一些更改,这是新表和查询。 但我仍然得到错误的结果

http://prntscr.com/7ofyc8

这是我的查询和结果 /编辑/

问题是,我应该只得到一个结果,它的 PriceCarId 为 2

我尝试了一些不同的方法,但也没有用

http://prntscr.com/7og5lb

【问题讨论】:

  • 这可能会有所帮助:stackoverflow.com/help/how-to-ask
  • SELECT DISTINCT PriceCarId FROM prices WHERE (PriceDate BETWEEN '05/07/2015' AND '07/07/2015') AND (PriceCarStatu=0) 我试过这个,它给了我两个结果,但是它应该是一个结果
  • 似乎您已将PriceDate 视为varchar,为什么?您需要将 PriceDate 的数据类型更改为 date
  • 或者,您可以将cast 您的PriceDate 字段作为date 进行比较

标签: mysql conditional-statements multiple-columns mysql-error-1064 between


【解决方案1】:

正如我在 cmets 中提到的,您应该将 PriceDate 数据类型更改为 date,或者您可以使用 STR_TO_DATE,请参见下面的示例:

SELECT * FROM Prices 
WHERE (STR_TO_DATE(PriceDate, '%d/%m/%Y') BETWEEN '2015-07-05' AND '2015-07-07') AND PriceCarStatu = 0

【讨论】:

  • 谢谢你,但它仍然给我错误的结果,你能在第一篇文章中查看新图片吗?我变了
  • 你得到了什么?用目前的结果和期望编辑您的问题!
  • 这就是原因,PriceDate 是 varchar 的类型(我猜)
  • 我将其更改为 int,但它仍然给我 PriceCarId 1 和 2,我应该只看到 PriceCarId 2
猜你喜欢
  • 2015-07-09
  • 2019-01-08
  • 2015-10-13
  • 1970-01-01
  • 2011-06-13
  • 2013-09-23
  • 2013-11-09
  • 1970-01-01
相关资源
最近更新 更多