【问题标题】:SQL function? Required hours per monthSQL函数?每月所需小时数
【发布时间】:2011-12-06 13:29:46
【问题描述】:

只是一个简单的问题,

SQL 中是否有计算每月所需小时数的函数? 如果不是假日柜台?

我想在 SQL 中创建一个表,它是一个看起来像这样的日历:

Year    Month    Required_Hours
2011    1        *
2011    2        *

函数将计算 * 值的位置

--编辑--

所需时间为:每天 8 小时

不计算的天数:周六和周日+节假日。

【问题讨论】:

  • 您如何定义“所需时间”?
  • 我的简短回答是否定的;现有的功能不存在,因为不同的国家、州有不同的假期,不同的公司也有不同的假期。因此没有标准;所以没有泛型函数,你必须自己写。
  • 所需时间是什么?
  • 您需要编写自己的日历,或者尝试获取一些实现日历的数据库。然后,存储所需的时间也不明智。在此基础上,聚合函数/分组依据将让您免费生活。

标签: sql tsql function calendar


【解决方案1】:

在 MySQL 中你可以做这样的事情 SELECT 24 * DAYOFMONTH(LAST_DAY(CONCAT(Year,'-',Month,'-',1)))

它将返回一个月中的天数乘以 24,即等于该特定月份的小时数。也许TSQL中有一些类似的功能?

【讨论】:

    【解决方案2】:

    简短回答:没有内置的 SQL 函数。

    长答案:这显然取决于特定月份有多少假期。处理这个问题的一种方法是有一个表来存储一般假期并从总数中减去这些。最重要的是,您可能需要考虑每位员工的个人假期/休假天数,这将是另一个表格。但是,一旦你有了这些,就没有那么糟糕了:使用DATEPART(weekday, *date*) 来确定日期是周六还是周日

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2012-10-03
      • 1970-01-01
      • 1970-01-01
      • 2013-06-23
      • 2015-05-26
      • 2022-06-27
      • 2021-01-17
      • 1970-01-01
      相关资源
      最近更新 更多