当前位置: 首页 > 面试题库 >

MySQL WEEK()的哪种模式符合ISO 8601

吕鸿文
2023-03-14
问题内容

MySQL WEEK()函数的哪种模式产生一年的ISO
8601
WEEK()根据该图的设置参数2 :

+--------------------------------------------------------------------+
| Mode | First day of week | Range | Week 1 is the first week ...    |
|------+-------------------+-------+---------------------------------|
| 0    | Sunday            | 0-53  | with a Sunday in this year      |
|------+-------------------+-------+---------------------------------|
| 1    | Monday            | 0-53  | with more than 3 days this year |
|------+-------------------+-------+---------------------------------|
| 2    | Sunday            | 1-53  | with a Sunday in this year      |
|------+-------------------+-------+---------------------------------|
| 3    | Monday            | 1-53  | with more than 3 days this year |
|------+-------------------+-------+---------------------------------|
| 4    | Sunday            | 0-53  | with more than 3 days this year |
|------+-------------------+-------+---------------------------------|
| 5    | Monday            | 0-53  | with a Monday in this year      |
|------+-------------------+-------+---------------------------------|
| 6    | Sunday            | 1-53  | with more than 3 days this year |
|------+-------------------+-------+---------------------------------|
| 7    | Monday            | 1-53  | with a Monday in this year      |
+--------------------------------------------------------------------+

这些模式中的一种会提供一年中的ISO 8601吗?


问题答案:

在ISO周编号中,星期一是一周的第一天,因此仅凭它就可以将其范围缩小为奇数模式之一。

根据维基百科:

第01周的描述相互等效:

  • 一年中第一个星期四的星期(正式的ISO定义),
  • 1月4日这一周,
  • 起始年份中大部分(四天或以上)的第一周,以及
  • 从12月29日至1月4日的星期一开始的一周。

这些描述中的第三个与上表中的“今年超过3天”匹配,因此现在我们将其范围缩小到1或3。

最后,仍然来自Wikipedia(强调):

如果1月1日在星期一,星期二,星期三或星期四,则在第01周。如果1月1日在星期五,星期六或星期日,则在前一年的第52或53周 (没有第00周)

因此,范围必须为1到53,而不是0到53。这又意味着正确的模式是 模式3



 类似资料:
  • 本文向大家介绍ThinkPHP中的URL模式有哪几种?默认是哪种?相关面试题,主要包含被问及ThinkPHP中的URL模式有哪几种?默认是哪种?时的应答技巧和注意事项,需要的朋友参考一下 ThinkPHP支持四种URL模式,可以通过设置URL_MODEL参数来定义,包括普通模式、PATHINFO、REWRITE和兼容模式。 默认模式为:PATHINFO模式,设置URL_MODEL 为1

  • 在网上搜索和阅读了关于设计模式的文章后,我发现了三种类型,即行为型、创造型和结构型设计模式(GOF)。

  • 本文向大家介绍23种设计模式(10)java组合模式,包括了23种设计模式(10)java组合模式的使用技巧和注意事项,需要的朋友参考一下 23种设计模式第四篇:java组合模式 介绍 组合模式又叫做部分-整体模式,它使我们树型结构的问题中,模糊了简单元素和复杂元素的概念,客户程序可以向处理简单元素一样来处理复杂元素,从而使得客户程序与复杂元素的内部结构解藕. 组合模式可以优化处理递归或分级数据结

  • 我是设计模式领域的新手,我正在尝试了解其中的诀窍。我曾多次听到人们使用的“工厂”或“工厂模式”,但当我开始学习设计模式(目前我正在读GoF的书)时,我了解到实际上并不存在“工厂设计模式”这样的东西。GoF这本书描述了两种与工厂相关的模式:“抽象工厂”和“工厂方法”。 所以我的问题是这样的--当人们只说“工厂”(没有添加任何其他东西)时,他们实际上指的是哪种设计模式? 我找到了两个关于这件事的消息来

  • 问题内容: 我目前正在寻找其他搜索方法,而不是拥有庞大的SQL查询。我最近看过Elasticsearch,并玩过whoosh(搜索引擎的Python实现)。 您能给出选择理由吗? 问题答案: 作为ElasticSearch的创建者,也许我可以为您提供一些理由,说明我为什么继续并首先创建它:)。 使用纯Lucene具有挑战性。如果要使其真正发挥出色,就需要注意很多事情,而且它是一个库,因此没有分布式