【问题标题】:Getting records in the last 1 hour using PROC SQL (Teradata)使用 PROC SQL (Teradata) 获取过去 1 小时内的记录
【发布时间】:2020-09-27 22:37:02
【问题描述】:

我正在使用 SAS 连接到 Teradata。给定以下数据集(它是一个定期更新记录的事务表),我需要能够从过去一小时(至少 3 个)中选择记录。例如,如果我在下午 6 点运行查询,我应该得到 txn_id 5678、1985、2985(请参阅下面的数据集)。你能帮忙吗?这需要在 proc sql(连接到 teradata)甚至只是在 Teradata SQL Assistant 中运行的 SQL 查询中完成。

数据集:

TXN_ID Date       Time
1234   20200608   4:00 PM
5678   20200608   5:00 PM
1985   20200608   5:30 PM
2985   20200608   5:45 PM
2365   20200608   2:30 PM

预期输出:

TXN_ID Date       Time

5678   20200608   5:00 PM
1985   20200608   5:30 PM
2985   20200608   5:45 PM

【问题讨论】:

  • 时间戳是否分成两列?有哪些数据类型?
  • 不,它是单列。 “时间”列包含相关数据
  • 如果列是时间戳数据类型:where timestampcolumn >= current_timestamp - interval '1' hour'

标签: sas teradata proc-sql


【解决方案1】:

试试outobs 选项:

proc sql outobs=3;
    select * from sashelp.class order by Age, Name;
quit;

此选项用于限制输出中的行数。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2017-09-23
    • 2014-09-17
    • 1970-01-01
    • 2020-02-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-05-21
    相关资源
    最近更新 更多