我有一个名为date_created
的表列,其中我将datetime值存储在VARCHAR中,例如16-06-2013 10:49:29
查找以varchar形式存储的两个日期时间列之间的时间差
我想通过两个日期之间的mysql查询结果。我使用这样的查询:
... WHERE date_created BETWEEN '06-08-2013 22:30:18' AND '28-08-2013 22:30:22' ...
该查询返回的结果,但这个结果也包括旧的最新记录是每月between 06 and 28
。我也使用<和>但这些也没有工作。
我怎样才能得到结果,只有包括记录'06 22时30分十八秒' '28和-08-2013二十二时30分22' 秒
你为什么把它存储在'varchar'中?使用[正确的数据类型](http://dev.mysql.com/doc/refman/5.7/en/datetime.html)。 –
谢谢@MattJohnson。我知道这些数据类型。但是我通过使用VARCHAR进行日期而犯了一个错误。我可以将VARCHAR转换为TIMESTAMP吗? –
你应该做一次迁移你的数据,以便你可以正确查询。如果您在查询过程中尝试这样做,您将无法构建适当的索引,并且性能会受到影响。 –