当日期字段中包含时间和日期时,获取两个日期之间的SQL数据

时间:2018-06-28 11:00:48

标签: php mysql

我的SQL中有数据,例如:2018-06-26 07:15:06 现在我正在使用:$ sqlq =“从数据库WHERE日期中选择*,例如'$ myDato'”; $ myDato设置为:2018-06-26% 这就像一个魅力。我从那天开始就得到所有行。 现在我想提取更多的日子。我尝试过:

$sqlq = "Select * from db WHERE date BETWEEN >= '$myDato' AND => '$myDato2'";
$sqlq = "Select * from db WHERE date BETWEEN LIKE '$myDato' AND LIKE '$myDato2'";
$sqlq = "Select * from db WHERE date BETWEEN '$myDato' AND '$myDato2'";

但是我找不到合适的那个。

4 个答案:

答案 0 :(得分:2)

尝试一下:

$sqlq = "Select * from db WHERE date  >= '$myDato' AND date >= '$myDato2'";

如果日期末尾有类似%的内容,则可以使用以下解决方案。

$sqlq = "Select * from db WHERE date  >= '" . substr($myDato, 0, -1) . "' AND date >= '" . substr($myDato2, 0, -1) . "'";

substr($myDato, 0, -1)将删除字符串中的最后一个字符。

答案 1 :(得分:0)

使用此:-

$sqlq = "Select * from db WHERE date  >= '".$myDato."' AND date <= '".$myDato2."' ";

答案 2 :(得分:0)

从db WHERE date> ='2018-06-26 07:15:06'AND date <“ 2018-06-30 07:15:06”;

答案 3 :(得分:0)

例如获取介于'2018-06-26'和'2018-06-27'之间的sql数据

SELECT * FROM db WHERE STR_TO_DATE(`date`, '%Y-%m-%d %H:%i:%s') BETWEEN STR_TO_DATE('2018-06-26', '%Y-%m-%d %H:%i:%s') AND STR_TO_DATE('2018-06-27', '%Y-%m-%d %H:%i:%s')