我正在寻找一个简单的函数来在mysql查询中获取每月的星期(而不是一年中的容易的星期)。
我能想到的最好的是:
WEEK(dateField) - WEEK(DATE_SUB(dateField, INTERVAL DAYOFMONTH(dateField)-1 DAY)) + 1
我想知道我是否在这里重新发明轮子,以及是否有更简便,更清洁的解决方案?
AFAIK,该月的第一周没有标准。
一年的第一周是包含的周Jan 4th
。
您如何定义每月的第一周?
更新:
您需要像这样重写查询:
SELECT WEEK(dateField, 5) -
WEEK(DATE_SUB(dateField, INTERVAL DAYOFMONTH(dateField) - 1 DAY), 5) + 1
以便正确处理年份转换,并从星期开始Monday
。
否则,您的查询就可以了。
问题内容: 我在我的应用程序中使用了自定义日历。我已为用户提供了选择一周中第一天的选项,可能是: 我想获取一个月中的星期数-取决于星期几的开始时间,而不是星期几的默认值- 。 码: 问题答案: 尝试 在您的情况下,您可能需要执行以下操作: 并用诸如
问题内容: 指定日期时: 我怎么知道这是每月的第三周? 如果我要这个约会怎么办? 我知道如果给定的日期是in年(双性恋),则只有2月有4周 问题答案:
Java我可以通过这种方式得到一个月的第一天: 我想知道是否有一个函数可以直接做到这一点,因为我找不到一个函数来获取这些重要信息。 类似于我在这里尝试做的事情:
我有一张这样的表 我想选择每月所有交易的总和。结果应该看起来像。。。 这就是我到目前为止得到的 但是,此分组按月份忽略年份(返回的月份值是单个整数)。我需要按每个月分组(返回2020年1月vs 2021年1月的不同行)
问题内容: 一年分为12个月。我们可以在四个星期内分解一个月。 在MySQL中,如何返回每月的星期几?(例如:第一周:2个条目,第二周:5个条目,第三周:3个条目;第四周:8个条目) 使用Week和WeekOfYear不能获得理想的结果,因为函数返回的是星期数YEAR,而不是月份。 问题答案: 我想说明的是,这可能不是分割数据的好方法-(请参阅注释),但这将使您尽可能地接近。
我需要在我的dim_date中添加新的业务wee,实际上我有一个月中的星期,如下表所示,每7天计算一次。 但是对于这个商业周专栏,一周应该从星期一开始,到星期日结束,即使第一周只有一天(当一个月从星期日开始时),但如果月份从星期五开始,我应该将其视为该月的第一周。 你有什么建议来计算这个吗?谢谢