这完美地工作:

SELECT DISTINCT customers
FROM customertable
WHERE time_paid BETWEEN '2016-06-28 10:27:55' AND '2016-07-05 14:07:51';


但是,由于我使用javascript datepicker来让用户选择日期时间段,并且只有日期但没有时间,因此这显然行不通:

SELECT DISTINCT customers
FROM customertable
WHERE time_paid BETWEEN '2016-06-28' AND '2016-07-05';


我的选择语句是:$t1是较低日期,而$t2是较高日期。

$sql = "SELECT DISTINCT customertable FROM customer WHERE time_paid BETWEEN '$t1' AND '$t2'";

$result = mysqli_query($conn, $sql);
$rowcount = mysqli_num_rows($result);


有没有一种方法可以在我的select语句上插入一个连接日期,例如'$t1'.12.00.00,以便在选择时照顾数据库中完整的DATETIME条目?

最佳答案

使用mysql函数添加日期

mysql> SELECT '2008-01-02';
+------------+
| 2008-01-02 |
+------------+
| 2008-01-02 |
+------------+
1 row in set (0.00 sec)

mysql> SELECT ADDDATE('2008-01-02', INTERVAL 0 HOUR);
+----------------------------------------+
| ADDDATE('2008-01-02', INTERVAL 0 HOUR) |
+----------------------------------------+
| 2008-01-02 00:00:00                    |
+----------------------------------------+
1 row in set (0.00 sec)


SELECT DISTINCT customertable FROM customer WHERE time_paid BETWEEN ADDDATE('$t1',INTERVAL 0 HOUR) AND ADDDATE('$t2',INTERVAL '23:59' HOUR_MINUTE)";

10-04 21:47
查看更多