gpt4 book ai didi

mysql - 是否可以在 MySQL 的 where 子句中使用当前日期?

转载 作者:可可西里 更新时间:2023-11-01 06:44:47 26 4
gpt4 key购买 nike

我正在尝试根据星期几在 MySQL 中创建一个 View 。我正在创建一个表来跟踪基于星期几的任务。例如,有些任务会在每周二发生,有些会在周三和周五发生,等等。

我决定在表格中为一周中的每一天设置一列。如果任务需要在那天执行,我会在该列中存储一个 1,否则它将是一个 0。该表如下所示:

| ID | Monday | Tuesday | Wednesday | Thursday | Friday |    Task     |
-----------------------------------
| 1 | 0 | 1 | 0 | 0 | 0 | "SomeTask" |
| 2 | 0 | 0 | 1 | 0 | 1 | "SomeTask" |
| 3 | 0 | 1 | 0 | 0 | 0 | "SomeTask" |

我想创建一个 SELECT 语句,用于在 View 中显示当天需要执行的任务。换句话说,今天是星期二,所以我想要一个查询来显示 ID 为 1 和 3 的行。

我尝试了以下方法,但没有用:

SELECT * FROM MyTasks WHERE DAYNAME(curdate()) = 1

有没有更好的方法来格式化表格?无论如何在 WHERE 子句中使用 DAYNAME?有什么建议么?

最佳答案

您可以使用 case像这样:

SELECT * FROM `MyTasks` WHERE (CASE DAYNAME(NOW())
WHEN 'Monday' THEN `Monday`=1
WHEN 'Tuesday' THEN `Tuesday`=1
WHEN 'Wednesday' THEN `Wednesday`=1
WHEN 'Thursday' THEN `Thursday`=1
WHEN 'Friday' THEN `Friday`=1
END)

除此之外,我看不到您有任何方法可以做到这一点,因为列名是静态的,不能基于其他函数等动态构建

关于mysql - 是否可以在 MySQL 的 where 子句中使用当前日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28848316/

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