如何动态生成预言机查询以根据所选时间间隔获取数据



>我有包含列 id、基准、值的表 基准面为日期类型。 在此表中,我每 15 分钟都有一次值。

现在我正在生成报告,其中 用户选择时间间隔,如 15 分钟 30 分钟 1 小时 1 天 如何动态生成预言机查询以根据所选时间间隔获取数据。

可以使用NUMTODSINTERVAL函数指定间隔。例如,如果您想获取最多 15 分钟前的所有内容:

SELECT *
FROM   your_table
WHERE  DATUM >= SYSDATE - NUMTODSINTERVAL( 15, 'MINUTE' )

或者,如果要将其限制为不包含将来的值:

SELECT *
FROM   your_table
WHERE  DATUM BETWEEN SYSDATE - NUMTODSINTERVAL( 15, 'MINUTE' )
AND SYSDATE

您可以将其更改为将间隔的数量和单位作为绑定参数,您可以将其传递到查询中:

SELECT *
FROM   your_table
WHERE  DATUM >= SYSDATE - NUMTODSINTERVAL( :amount, :units )

哪里:

  • :amount是一个数字;和
  • :units是字符串之一:SECONDMINUTEHOURDAY

最新更新