Php 如何在或<;,之间使用&燃气轮机;DATETIME字段中的运算符
我有一个名为data的表,它有一个名为Php 如何在或<;,之间使用&燃气轮机;DATETIME字段中的运算符,php,mysql,date,datetime,Php,Mysql,Date,Datetime,我有一个名为data的表,它有一个名为'datetime'的字段。该字段设置为varchar。此字段的值如下所示: 2014-12-04.2300, 2014-12-04.2200, 2014-12-04.1600 这是(date.24小时时间)格式。如何选择2014-12-02和2014-12-05这两个日期之间的所有记录? 我尝试了以下方法: SELECT * FROM `data` WHERE `datetime` BETWEEN 2014-12-02.0000 AND 2014-12-
'datetime'
的字段。该字段设置为varchar。此字段的值如下所示:
2014-12-04.2300,
2014-12-04.2200,
2014-12-04.1600
这是(date.24小时时间)
格式。如何选择2014-12-02和2014-12-05这两个日期之间的所有记录?
我尝试了以下方法:
SELECT * FROM `data` WHERE `datetime` BETWEEN 2014-12-02.0000 AND 2014-12-05.2300
但它不工作,返回空。知道怎么做吗
谢谢。如果要选择两个日期之间的记录,请尝试此查询
SELECT * FROM `data` WHERE `datetime` BETWEEN date('2014-12-02') AND date('2014-12-05')
如果是varchar字段,请使用下面的查询
SELECT * FROM `data` WHERE date(left(`datetime`, 10)) BETWEEN date('2014-12-02') AND date('2014-12-05')
引用这些值。现在它们是算术表达式。MySQL将
2014-12-02.0000
解释为2014减去12减去2.0000
,这一点都没有错
SELECT * FROM `data` WHERE `datetime` BETWEEN '2014-12-02.0000' AND '2014-12-05.2300'
您是否尝试引用值并删除
.0000
,即'2014-12-02'
是否可以将这些列转换为本机日期时间类型?这样做可以避免你将来的头痛。我已经尝试过移除0000s。我无法将其转换为通常的日期时间类型。我知道这很头痛:(我也会把datetime
转换成date,我认为也应该这样做。也许date(左(
datetime,10))
这是一个varchar字段,所以我认为他必须这样做。他们仍然错了,因为正如我在回答中所说,2014-12-02
正是2000
。