gpt4 book ai didi

sql - 你如何在 MySql 中找到给定日期时间的 DayOfTheWeek?

转载 作者:塔克拉玛干 更新时间:2023-11-03 05:33:10 24 4
gpt4 key购买 nike

给定 mysql 5 中的日期时间列,我想找出星期几?

但是函数 DAYOFWEEK 为星期日返回 1。

我想要 1 表示星期一,2 星期二等。7 表示星期日。

是否有实现此功能的单行代码(可以嵌入到更大的 SQL 语句中)?

f(x) => y

such that:
f(1) = 7
f(n) = n-1 for n in range [2,7]

最佳答案

一个纯算术公式

SELECT ((DAYOFWEEK(myDate) + 5) % 7) + 1 AS MondayBasedDOW

尽管在 SQL 中我们经常使用 CASE 语句 来解决这个问题(参见 astender 的回答)

SELECT CASE WHEN DAYOFWEEK(myDate) = 1 THEN 7 ELSE DAYOFWEEK(myDate) -1 END
AS MondayBasedDOW

现在... MySQL 也提供了函数WEEKDAY() 类似于DAYOFWEEK() , 但是是

  • 每周一
  • 零基础

即星期一 = 0,星期二 = 1 ...星期日 = 6
所以你可以简单地使用

SELECT WEEKDAY(myDate) + 1 AS MondayBasedDOW

但当然这比使用模运算要有趣得多;-)

关于sql - 你如何在 MySql 中找到给定日期时间的 DayOfTheWeek?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1824575/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com