大家好,我有这4条记录,如下所示。
-----fecha---
2018/03/01 0:05
2018/03/01 0:15
2018/03/01 0:20
--------------
它们在mysql中使用各自的id注册。
如果有方法或某些内容向我显示不匹配的记录,我想从mysql做什么
例如,我有几条记录,这些记录在5分钟到5分钟内如表中所示,我想要做的是mysql向我显示不存在的记录,例如,它不是
2018/03/01 0:10并且只显示
感谢您的帮助。
答案 0 :(得分:0)
您应该修复0:
,因为它不是有效的小时值。
您可以使用DateTime执行以下操作,但需要定义开始值和结束值,我假设您在选择“fecha”数据时这样做。
<?php
// query this in a select
$result = [
'2018/04/12 00:05',
'2018/04/12 00:15',
'2018/04/12 00:20',
];
// define start/end by first and last items in array
$begin = DateTime::createFromFormat('Y/m/d H:i', min($result));
$end = DateTime::createFromFormat('Y/m/d H:i', max($result));
$interval = new DateInterval('PT5M'); // plus time 5 min
$daterange = new DatePeriod($begin, $interval ,$end);
// build an array to compare it with
foreach ($daterange as $date){
$range[] = $date->format("Y/m/d H:i");
}
// array diff out the differences
print_r(array_diff($range, $result))
?>
<强>结果:强>
Array
(
[1] => 2018/04/12 00:10
)