请帮帮我。我有表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 ║
╚══════════╩═════════════╩═════════════╩═════════╝
查询如何查找时间日期之间的数据。
答案 0 :(得分:4)
这是不在数据库中正确存储数据类型的缺点之一。日期应存储为DATE
或DATETIME
。
如果您使用的是MySQL
,则可以使用STR_TO_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 ║
╚══════════╩═════════════╩═════════════╩═════════╝
您当前设计的一些缺点:
答案 1 :(得分:0)
使用BETWEEN
关键字
"SELECT * FROM table_A WHERE date BETWEEN '" . $from_date . "' AND '" . $to_date . "'"