我有下一个代码:
SELECT * FROM lc_t_ordenes
WHERE fecha_registro between date(%s) and date(%s)+.9
ORDER BY fecha_registro ASC
当日期介于2016-10-01
和2016-10-30
之间时,它可以正常工作,但当我尝试仅查找日期为2016-10-31
时无效的记录时。
表格日期为timestamp
。如何查找date1 (2016-10-01 00:00:00)
和date2 (2016-10-01 23:59:59)
之间的记录?
用户只需2016-10-01
。
答案 0 :(得分:1)
这段代码怎么样:
SELECT *
FROM your_table
WHERE DATE(timestamp_column) = '2016-10-01';
编辑代码:
SELECT * FROM lc_t_ordenes
WHERE DATE(fecha_registro) BETWEEN '2016-10-01' AND '2016-10-30'
ORDER BY fecha_registro ASC;
答案 1 :(得分:0)
您应该以时间格式插入日期 添加00:00:00和' 59:59'在您的变量中,并在strtodate函数的帮助下将该变量转换为日期格式 对不起任何错误,我不是一个PHP人:)
$date1 = new DateTime('2012-05-29');
$date2 = new DateTime('2012-05-29');
$date1= $date1->format("Y-m-d H:i:s");
$date2->modify("+23 hours");
$date2->modify("+59 minutes");
$date2->modify("+59 seconds");
$date2= $date2->format("Y-m-d H:i:s");