【问题标题】:What is the best way to determine if a timestamp falls within seasonal business hours?确定时间戳是否在季节性工作时间内的最佳方法是什么?
【发布时间】:2010-12-02 19:23:24
【问题描述】:

我想要一个 SQL 查询来检查给定的时间戳是否在企业的营业时间内。这些营业时间根据一年中的时间(季节性时间)而变化,并且在某些假期关闭业务。我有这些日期的列表,尽管它们可能会发生变化。

我想要的是在数据库中存储这些信息的良好结构和如下所示的函数:

CREATE OR REPLACE FUNCTION is_business_open(event TIMESTAMP) RETURNS BOOLEAN AS $_$
...
$_$

我将在 PostgreSQL 8.2.x 上的 plpgsql 中写这篇文章,如果这有影响的话。

【问题讨论】:

    标签: sql postgresql stored-procedures business-logic


    【解决方案1】:

    我会建议您开放的日期范围以及时间。

    date_start, date_end, time_open, time_close 
    

    查询可能如下所示:

    select time_open, time_close from hours_table where date_start < @DateInput and @DateInput < date_end 
    

    所以你只把你的开放时间。其他任何东西都是“关闭的”

    【讨论】:

      【解决方案2】:

      我建议将数据(日期、开放时间、关闭时间)放入一个表中,然后让您的查询从中进行选择。

      【讨论】:

        猜你喜欢
        • 2011-09-04
        • 2011-04-22
        • 1970-01-01
        • 2020-10-13
        • 2020-11-13
        • 1970-01-01
        • 1970-01-01
        • 2019-01-27
        • 1970-01-01
        相关资源
        最近更新 更多