Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/php/278.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Php 查询Sql日期和时间(已关闭)_Php_Sql_Date - Fatal编程技术网

Php 查询Sql日期和时间(已关闭)

Php 查询Sql日期和时间(已关闭),php,sql,date,Php,Sql,Date,请帮帮我。我有表A。日期格式为dd/mm/yy,时间格式为hh:mm:ss am/pm ╔══════════╦═════════════╦═════════════╦═════════╗ ║ DATE ║ TIME ║ PHONE ║ MESSAGE ║ ╠══════════╬═════════════╬═════════════╬═════════╣ ║ 25/09/07 ║ 01:57:55 PM ║ 62856979898 ║ Tes a ║ ║

请帮帮我。我有表A。日期格式为dd/mm/yy,时间格式为hh:mm:ss am/pm

╔══════════╦═════════════╦═════════════╦═════════╗
║   DATE   ║    TIME     ║    PHONE    ║ MESSAGE ║
╠══════════╬═════════════╬═════════════╬═════════╣
║ 25/09/07 ║ 01:57:55 PM ║ 62856979898 ║ Tes a   ║
║ 25/09/07 ║ 04:56:51 PM ║ 62856123467 ║ Tes B   ║
╚══════════╩═════════════╩═════════════╩═════════╝

如何查询以查找日期之间的数据。

这是未在数据库中正确存储数据类型的缺点之一。日期应存储为
DATE
DATETIME

如果您使用的是
MySQL
,则可以使用
STR\u TO\u DATE
将字符串转换为日期

SELECT  *
FROM    tableName
WHERE   STR_TO_DATE(CONCAT(date, ' ', time), '%d/%m/%y %h:%i:%s %p') 
        BETWEEN '2007-09-25 13:00:00' AND '2007-09-25 14:00:00'
输出

╔══════════╦═════════════╦═════════════╦═════════╗
║   DATE   ║    TIME     ║    PHONE    ║ MESSAGE ║
╠══════════╬═════════════╬═════════════╬═════════╣
║ 25/09/07 ║ 01:57:55 PM ║ 62856979898 ║ Tes a   ║
╚══════════╩═════════════╩═════════════╩═════════╝
当前设计的一些缺点:

  • 无法直接比较日期和时间
  • 无法使用索引
  • 等等

在关键字之间使用

 "SELECT * FROM table_A WHERE date BETWEEN '" . $from_date . "' AND  '" . $to_date . "'"

你怎么能选择一个日期,并将其与时间进行比较?日期字段是什么类型?我认为这个问题不值得否决!这些看起来不像日期字段。此外,最好使用准备好的语句。