从DateTime列中分离日期和时间,并将每个日期和时间放入其自己的日期和时间列

时间:2015-08-14 16:09:36

标签: mysql sql date datetime time

我在MySQL数据库中有一个'DateTime'列(Y-m-d H:i:s)。要执行我想要执行的查询,我需要将日期和时间分开,并将每个查询放入自己的列中。我试图在MySQL中使用'UPDATE'来创建一个新的'Date'和'Time'列来放入数据。我尝试的所有内容都将数据作为全零放入列中。如何将这些数据分成各自的列?

编辑:现在查询是查看我在某一天的约会。使用datetime列,当我进行查询时,让我们说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
");

1 个答案:

答案 0 :(得分:1)

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 |
+---+