gpt4 book ai didi

MYSQL 获取当前星期几在列表中的项目

转载 作者:行者123 更新时间:2023-11-30 23:05:52 31 4
gpt4 key购买 nike

我想获取满足特定条件的某些记录。其中之一是只有在特定列中找到星期几才能找到它们。我有下面的查询,如果我自己输入工作日,它就可以工作,但如果我使用字段名,则不会返回任何结果..

因此字段“dagen”包含代表任意一天的 * 或代表星期四和星期五的工作日列表,例如“5”、“6”。

SELECT * FROM playlist_item 
WHERE playlist_id='31'
AND type_id='56'
AND jobcomplete='0'
AND startuur<=TIME(NOW()) AND einduur >=TIME(NOW())
AND (dagen='*' OR DAYOFWEEK(NOW()) IN (dagen));

如果我在末尾用 .. IN (5,6) 替换 dagen,它会完美地工作,但在使用列名时却不行。我已经尝试过不使用单引号作为值,而是使用引号。.都没有他们工作..获得我想要的结果的正确方法是什么?

可以找到 SQLFiddle 示例 here

最佳答案

假设 dagen 是一个包含以逗号分隔的星期几列表的列,请尝试这样的操作:-

SELECT * FROM playlist_item 
WHERE playlist_id='31'
AND type_id='56'
AND jobcomplete='0'
AND startuur<=TIME(NOW()) AND einduur >=TIME(NOW())
AND (dagen='*' OR FIND_IN_SET(DAYOFWEEK(NOW()), dagen));

请注意,以逗号分隔的列表通常表示数据库规范化不佳。

关于MYSQL 获取当前星期几在列表中的项目,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21936612/

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