gpt4 book ai didi

mysql - 选择新年分隔一周的上周

转载 作者:行者123 更新时间:2023-11-29 15:15:45 25 4
gpt4 key购买 nike

今天是 1 月 11 日。根据我的需要,上周是 12 月 29 日到 1 月 4 日这一周。 2019年于周二结束,2020年于周三开始。

我的程序给我带来了各种各样的问题,因为我使用yearweek()来添加和减去报告的周数。

我不知道如何进行“新年”证明的查询。周数从 1 到 52 或其他数字是行不通的。我只需要计算从上周日到一周前(上周六)发生的任何时间段

我的yearweek 几乎全年都可以工作,我可以对年末或年初进行自定义查询,但我宁愿拥有每次都有效的东西。之前的搜索并没有找到任何“新年”的证据。

WHERE YEARWEEK(appointment.start) = YEARWEEK(NOW(0),0)-1

今天不工作。同样的 +1 数学计算在 2019 年底不起作用

这是确切的查询:

SELECT Appointment.start, Appointment.jobID, Appointment.inter_id, Appointment.subject, Appointment.location,
Appointment.outcome_id, Appointment.region, Appointment.language, Interpreters.First_Name, Interpreters.Last_Name
FROM Appointment
left join Interpreters on Appointment.inter_id = Interpreters.inter_id
WHERE YEARWEEK(start) = YEARWEEK(NOW(0),0)-1

最佳答案

确定开始日期和结束日期是一个准备步骤,而不是查询的一部分。您没有提到什么编程语言,所以请原谅一些猜测:PHP 有 a feature将“上周日”转换为数字日期(然后将 PHP 的日期重新格式化为 MySQL 喜欢的日期)。 Node.js 和其他语言要么具有类似的内置功能,要么可安装 - 例如,节点生态系统有一个 module called moment ,以及其他一些竞争者试图取代它。

简而言之,您:

  1. 获取您所拥有的有关开始日期和结束日期的任何来源信息
  2. 然后将这两个日期转换为 MySQL 喜欢的格式的字符串,(在大多数项目中)是 YYYY-MM-DD 23:59:59 。 (documentation for MySQL date, datetime, and timestamp types)
  3. 还有你 select您需要的数据where日期字段为>= (大于或等于)您的开始日期,以及 <= (小于或等于)您的结束日期。 (Documentation for MySQL Operators)

关于mysql - 选择新年分隔一周的上周,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/59700515/

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