sql查询与子字符串过滤器一起更新数据

ldfqzlk8  于 2021-06-19  发布在  Mysql
关注(0)|答案(1)|浏览(289)

对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')

什么样的查询才能达到完美的效果呢。

v1l68za4

v1l68za41#

请停止计算日期和时间的字符串操作。改用本机日期时间:

$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类,它保存有关差异的所有信息。

相关问题