php - 选择带日期的数据库数据

标签 php mysql sql database

我有一个表名 transactions

+-------+---------------------+--------+
| t_id  | date                | amount |
+-------+---------------------+--------+
|   10  | 2016-04-17 19:24:05 | 1800   |
|   12  | 2016-06-11 12:40:13 | 200    |
|   17  | 2016-04-13 14:42:04 | 100    |
|   19  | 2016-05-14 17:45:43 | 1      |
|   20  | 2016-08-15 19:45:54 | 999    |
|   21  | 2016-01-17 11:46:02 | 1500   |
|   41  | 2016-02-18 17:23:14 | 500    |
|   42  | 2016-07-19 13:26:14 | 500    |
|   43  | 2016-02-18 17:23:15 | 500    |
|   44  | 2016-02-18 17:23:16 | 500    |
|   45  | 2016-02-18 18:23:16 | 500    |
|   46  | 2016-02-18 17:23:16 | 500    |
|   47  | 2015-10-18 14:23:17 | 500    |
|   48  | 2015-11-18 17:23:17 | 500    |
|   49  | 2015-12-18 11:23:18 | 500    |
|   50  | 2015-05-18 11:25:54 | 1000   |
|   51  | 2015-09-18 12:26:22 | 3000   |
|   52  | 2015-05-18 13:48:59 | 10     |
|   53  | 2015-03-18 15:48:59 | 10     |
|   54  | 2015-01-18 17:49:13 | 5000   |
+-------+---------------------+--------+

我想选择带日期的记录

我用

SELECT * FROM transactions WHERE date='2016-02-18';

我也在两个日期之间选择,然后我使用

SELECT * FROM transactions WHERE date<'2016-02-18' AND date>'2016-02-01';

但它不起作用。(我使用 php Mysql xampp) 你能帮我理解这些概念吗?

最佳答案

对于 ist 查询,您需要使用 DATE() 函数,因为您的列类型是 DATETIMETIMESTAMP,因此您可以将其处理为:

SELECT * FROM transactions WHERE DATE(date) = '2016-02-18';

对于第二个查询,您只需将时间添加为:

SELECT * FROM transactions WHERE date > '2016-02-01 00:00:00' AND date < '2016-02-18 23:59:59';

关于php - 选择带日期的数据库数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35482915/

相关文章:

php - 文件中的返回语句不会停止类定义?

mysql - 如何优化这个 MySQL 查询?

php - 每秒记录 JSON 数据的最有效方法是什么

mysql - 删除表中的空重复项

python - Django 多对五月 : how get row id in related table

php - 从 PHP 运行 exec() 不起作用

php - 如何通过版本 Php 文件将 wordpress 标题导航分成并排?

php - PDO 查询检查值是否存在

mysql - 如何将 CUT 命令的输出变量通过管道传递给另一个命令

mysql - 为什么我的 mysql 查询获取 "most"数据永远运行?