首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >工作日(日期)与当前工作日的比较

工作日(日期)与当前工作日的比较
EN

Stack Overflow用户
提问于 2014-03-26 08:12:31
回答 2查看 149关注 0票数 0
代码语言:javascript
复制
SELECT 
  * 
FROM
  (`users`) 
  JOIN `artistprofiles` AS art 
    ON `art`.`user_id` = `users`.`id` 
WHERE WEEKDAY(users.date_created) = 'WEEKDAY(WEEKDAY(NOW()))' 
  AND `users`.`status_enum` = 'aproved' 
  AND `users`.`status` = 1 
ORDER BY `users`.`email_process` DESC 

这个查询有什么问题。它给了我错误的结果

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2014-03-26 08:27:07

这是错误的:

代码语言:javascript
复制
WHERE WEEKDAY(users.date_created) = 'WEEKDAY(WEEKDAY(NOW()))' 

示例

代码语言:javascript
复制
select 
    @wd:=WEEKDAY(curdate()) wd, 
    @str:='WEEKDAY(WEEKDAY(NOW()))' str, 
    @wd=@str,
    @wd=WEEKDAY( now() ) ;

结果

代码语言:javascript
复制
+------+-------------------------+----------+----------------------+
| wd   | str                     | @wd=@str | @wd=WEEKDAY( now() ) |
+------+-------------------------+----------+----------------------+
|    2 | WEEKDAY(WEEKDAY(NOW())) |        0 |                    1 |
+------+-------------------------+----------+----------------------+

在您的查询中,您将周日值与文字字符串'WEEKDAY(WEEKDAY(NOW()))'进行比较。由于它们不匹配,它返回一个false,因此您会看到错误的结果。

检查列的周日和现在的周日,

Change

代码语言:javascript
复制
WHERE WEEKDAY(users.date_created) = 'WEEKDAY(WEEKDAY(NOW()))' 

代码语言:javascript
复制
WHERE WEEKDAY(users.date_created) = WEEKDAY( NOW() ) 
票数 1
EN

Stack Overflow用户

发布于 2014-03-26 08:16:03

就像这样:

代码语言:javascript
复制
SELECT * FROM (`users`) JOIN `artistprofiles` AS art ON `art`.`user_id` = `users`.`id` WHERE WEEKDAY(users.date_created) = WEEKDAY(NOW()) AND `users`.`status_enum` = 'aproved' AND `users`.`status` = 1 ORDER BY `users`.`email_process` desc

'使它成为一个字符串。所以你没有平日的时间。

您可能需要阅读以下内容:When to use single quotes, double quotes, and backticks in MySQL

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/22654938

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档