mysql - 在 MySQL 查询中使用 Coldfusion DateDiff?

标签 mysql coldfusion datediff

我花了几个小时研究这个,但到目前为止还没有成功。

我正在输出一个非常大的查询,并尝试在处理数据之前将其分割成 block 。该查询基本上每天都会运行,并且其中一个字段('last_checked')将用于确保相同的数据每天不会处理多次。

这是我现有的查询;

<cfquery name="getprice" maxrows="100">
  SELECT ID, source, last_checked, price
  FROM product_prices
  WHERE source='api'
  ORDER BY ID ASC
</cfquery> 

然后,我对结果运行 cfoutput 查询以执行各种更新。该表目前仅保存超过 100,000 条记录,并且开始难以一次性处理所有内容,因此需要将其拆分为多个 block 。

我的目的是安排它经常运行(例如,我将增加最大行数,并且可能每 15 分钟运行一次)。但是,我需要它只返回过去 24 小时内未更新的结果 - 这就是我陷入困境的地方。

我知道 MySQL 有它自己的 DateDiff 和 TimeDiff 函数,但我似乎无法掌握其语法 - 如果它确实适用于我的使用(文档在这方面似乎自相矛盾 - 或者,在我读过的最少的)。

非常感谢任何指点!

最佳答案

首先使用 MySQL 尝试一下:

SELECT ID, source, last_checked, price
  FROM product_prices
  WHERE source='api'
      AND last_checked >= current_timestamp - INTERVAL 24 HOUR
  ORDER BY ID ASC

关于mysql - 在 MySQL 查询中使用 Coldfusion DateDiff?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8807179/

相关文章:

java - 如何使用 MyBatis 更新数据库?

mysql - Mac OSX 10.2 上的 MariaDB 10.1.22 - 在 my.cnf 中启用常规查询日志

php - 两个表的数组之间的比较

coldfusion - 如何找出计划任务的下一次运行时间?

coldfusion - 文件上传过大

email - 如何在 cfmail 中分隔多个电子邮件地址

sql-server - SQL使用静态日期计算一夜之间的小时数

mysql - 查找两列之间的 DATEDIFF 并创建自己的列

php - MySQL 选择所有记录并为每个选择单独的记录 - 在一个查询中

mysql - mysql中的datediff仅在具有特定值时才选择新字段