mysql - 将日期和时间与日期时间列分开,并将每个日期和时间放入其自己的日期和时间列中

标签 mysql sql date datetime time

我在 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/

相关文章:

sql - F# 将列表插入 SQL Server

linux - linux什么时候设置电脑的正确时间?

php - 扩展 mysqli_stmt 以使用自定义 mysqli_result

php - Angularjs - Mysql - CRUD 操作和安全

mysql - 保持多列组合的唯一性

sql - 在生产环境中部署 Sql Server Reporting Services 报告

mysql - 如何从文字列表中查询 : select * from ('a' , 'b' , 'c' )

php json_encode mysql 结果以特定方式

c# - 生成每周日期

php - 将日期数组拆分为连续的日期数组