Oracle/SQL - 选择特定系统日期时间的记录

发布于 2024-11-03 14:26:23 字数 378 浏览 0 评论 0原文

我有一个每天运行多次的查询,但问题是我们希望查询在特定时间运行时返回结果。因此,对于此示例,我只希望在上午 8 点运行查询时返回记录。我认为这可能会起作用

case
    when to_char(sysdate,'HH24') = '08' then
        select
            *
        from
            tablename
end

,事实上,它在早上 8 点时间内确实有效,但除此之外它会出错,而不是不返回任何记录。

有什么想法吗?


好吧,我真是太蠢了。我想太多了。我被困在必须使用 if then 之类的条件上。是时候喝更多咖啡了。

I have a query that runs multiple times a day, the issue though is we want the query to only return result when it's run at certain times. So for this example I only want records to be returned when the query is run during the 8am hour. I thought this might work

case
    when to_char(sysdate,'HH24') = '08' then
        select
            *
        from
            tablename
end

And indeed it does during the 8am hour, but outside of that it errors rather than returning no records.

Any ideas?


Okay well that was dumb of me. I was WAY over thinking it. I was stuck on having to use a if then sort of condition. Time for more coffee.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

岛歌少女 2024-11-10 14:26:23

也许:

    select
        *
    from
        tablename
    where 
        to_char(sysdate,'HH24') = '08';

Perhaps:

    select
        *
    from
        tablename
    where 
        to_char(sysdate,'HH24') = '08';
暮年 2024-11-10 14:26:23

听起来像你想要的

SELECT *
  FROM tablename
 WHERE to_char( sysdate, 'HH24' ) = '08'

It sounds like you want

SELECT *
  FROM tablename
 WHERE to_char( sysdate, 'HH24' ) = '08'
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文