我要求在SQL中的特定时间间隔内每3秒获取一次数据。我是SQL的新手,所以任何人都可以帮助我完成这个场景 这是我的选择查询,它返回所有值,但我只需要每3秒钟一次数据
SELECT ton_nbr
FROM
icr_file_interface
WHERE
(
reading_dttm BETWEEN
TO_DATE(concat('2016-10-19',to_char(0930)),'yyyy-mm-dd HH24MISS')
AND TO_DATE(concat('2016-10-19',to_char('0945')),'yyyy-mm-dd HH24MISS')
)
AND
(
ton_nbr BETWEEN
(SELECT value FROM text_para WHERE para_cd='ICR_ST_RNG')
AND (SELECT value FROM text_para WHERE para_cd='ICR_ED_RNG')
)
答案 0 :(得分:0)
这会在最近3秒之间选择您的数据。希望你明白了。
select ton_nbr
from icr_file_interface
where reading_dttm between dateadd(ss, -3, getdate()) and getdate() ;
答案 1 :(得分:0)
如果您只需要从日期中减去3秒,则可以使用以下内容:
SQL> select to_char(sysdate, 'yyyy-mm-dd hh24:mi:ss'),
2 to_char(sysdate - 3*1/24/60/60, 'yyyy-mm-dd hh24:mi:ss')
3 from dual;
TO_CHAR(SYSDATE,'YY TO_CHAR(SYSDATE-3*1
------------------- -------------------
2016-10-19 09:38:17 2016-10-19 09:38:14
鉴于sysdate -1
表示“将一天减去sysdate”,您可以通过算术运算得出所需的秒数