gpt4 book ai didi

mysql - 限制一周中的某些特定日期?

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

我的数据库中有一堆日期,现在我想使用 WHERE 来限制一周中的特定日期,例如。我的日期是 2019-01-01 等,我只想查看这些日期中的星期一、星期二和星期三。我该怎么做?

我在下面显示的代码不能仅仅作为我正在做的事情的引用

CREATE VIEW weekend_reservation AS
SELECT CONCAT(last_name,',',first_name) AS "guest's name",
CONCAT(DATE_FORMAT(check_in_date,"%W,%M %d,%Y")) AS 'check_in_date',
CONCAT(DATE_FORMAT(check_out_date,"%W,%M %d,%Y")) AS 'check_out_date'
FROM guests JOIN reservations
USING(guest_id)
WHERE check_in_date BETWEEN 'Friday' AND 'Sunday'
ORDER BY check_in_date,check_out_date,last_name,first_name;

最佳答案

好吧,我不会仅仅通过更改 SELECT 来获得星期几。

相反:

CREATE VIEW weekend_reservation AS
SELECT CONCAT_WS(',', g.last_name, g.first_name) AS "guest's name",
DATE_FORMAT(r.check_in_date, '%W, %M %d,%Y')) AS check_in_date,
DATE_FORMAT(r.check_out_date, '%W,%M %d,%Y')) AS check_out_date
FROM guests g JOIN
reservations r
USING (guest_id)
WHERE DAYOFWEEK(r.check_in_date) IN (6, 7, 1)
ORDER BY check_in_date, check_out_date, last_name, first_name;

注释:

  • CONCAT()DATE_FORMAT() 之后不执行任何操作。
  • DAYOFWEEK() 函数返回天数,其中星期日为 1,星期六为 7。
  • 您应该限定所有列名称(即使用表别名),尤其是当查询具有多个表引用时。
  • CONCAT_WS() 很方便。它比 CONCAT() 更好地处理 NULL 值。

关于mysql - 限制一周中的某些特定日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57468054/

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