我在 MySQL 数据库中有一个“DateTime”列(Y-m-d H:i:s)。要执行我想做的查询,我需要将日期和时间分开并将每个数据放入其自己的列中。我尝试在 MySQL 中使用“更新”来执行此操作,并创建了一个新的“日期”和“时间”列来放入数据。我尝试的所有操作都将数据作为全零放入列中。如何将这些数据分成各自的列?
编辑:现在的查询是查看我在特定日期有哪些约会。使用日期时间列,当我执行查询时,假设 2015-08-19 @ 1:00 PM,它只返回该确切日期和时间的约会。我希望查询能够带回某个日期的所有约会,无论时间如何。
这是我的 SELECT 语句
$appt_date = date('Y-m-d H:i:s', strtotime($appt_date));
$query = $mysqli->prepare("
SELECT set_date
, branch
, appt_date
, employee
, fname
, lname
, last_four
, phone
, city
, state
, zip
FROM appointments
WHERE set_date BETWEEN '".$from."' AND '".$to."'
AND set_date LIKE CONCAT('%', ?, '%')
AND branch LIKE CONCAT('%', ?, '%')
AND appt_date = (?)
AND employee LIKE CONCAT('%', ?, '%')
AND fname LIKE CONCAT('%', ?, '%')
AND lname LIKE CONCAT('%', ?, '%')
AND last_four LIKE CONCAT('%', ?, '%')
AND phone LIKE CONCAT('%', ?, '%')
AND city LIKE CONCAT('%', ?, '%')
AND state LIKE CONCAT('%', ?, '%')
AND zip LIKE CONCAT('%', ?, '%')
ORDER
BY set_date ASC
");
最佳答案
SELECT '2015-08-19 01:00:00' BETWEEN '2015-08-19' AND '2015-08-20' x;
+---+
| x |
+---+
| 1 |
+---+
SELECT '2015-08-20 01:00:00' BETWEEN '2015-08-19' AND '2015-08-20' x;
+---+
| x |
+---+
| 0 |
+---+
关于mysql - 将日期和时间与日期时间列分开,并将每个日期和时间放入其自己的日期和时间列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32014335/