对UPDATE语句和条件使用SUBSTRING方法的最佳方法是什么!
UPDATE `store_results` SET `results_status` = "unpublished" WHERE CONCAT(SUBSTRING_INDEX(`results_trigger_on`,' ',1) AS resultdate FROM `store_results` HAVING resultdate BETWEEN '15/09/2018' AND '20/09/2018')
什么是达到相同要求的理想查询。
答案 0 :(得分:1)
请停止字符串操作以计算日期和时间。改用本机DateTime:
$startInKolkata = new \DateTime(
'2018-09-19 09:00:00',
new \DateTimeZone('Asia/Kolkata')
);
$endInWarsaw = new \DateTime(
'2018-09-20 10:15:00',
new \DateTimeZone('Europe/Warsaw')
);
$dateDiff = $startInKolkata->diff($endInWarsaw);
printf(
'Till end: %d day(s), %d hour(s), %d minute(s)',
$dateDiff->d,
$dateDiff->h,
$dateDiff->i
);
diff()
方法的结果是一个DateInterval类,其中包含您需要的所有有关差异的信息。