首页 > 解决方案 > 如何提取自上一小时以来创建或修改的行

问题描述

我有以下代码,其中 DAT_CRE 用于创建日期,DAT_MOD 用于修改日期(如果未进行任何修改,则可以为空)。

我希望能够在此脚本中添加一个条件以提取前一小时创建/修改的行,但我不确定如何使用 SYSDATE 执行此操作。

SELECT
    CODE_ART_COM,
    LIB_ART_COM,
    TO_CHAR(
        CAST(
            COALESCE(GREATEST(DAT_CRE, DAT_MOD), DAT_CRE) AS TIMESTAMP
        ),
        'YYYY-MM-DD HH24:MI:SSxFF'
    ) TIMESTAMP
FROM
    ART_COM
WHERE
    ETAT = 0
    AND CODE_ART_COM IN (
        SELECT
            CODE_ART_COM
        FROM
            PROD_COM
        WHERE
            ETAT = 0
    )

标签: sqloracle19c

解决方案


只需添加

AND (dat_cre >= SYSDATE - INTERVAL '1' HOUR OR
     dat_mod >= SYSDATE - INTERVAL '1' HOUR)

到您的查询,以将其限制为在过去一小时内创建或更新的行。


推荐阅读