2010-03-20 207 views
0

我从我的客户数据库(mysql)获取最近十天的所有记录
$ offset1 = strtotime(“ - 10 day”); $ date3 = date(“Y-m-d”,$ offset1);忽略星期六和星期日

SELECT * FROM客户,其中“$ DATE3”和“$日期”之间的日期和customer.custid =“$客户ID”按日期倒序

我想离开了下跌的一个星期六的日期周日,很想把这个在我的查询,而不是PHP

如果你能帮助的感谢

回答

3

可以使用DayOfWeek功能从MySQL。

SELECT * 
FROM customers 
WHERE date between '$date3' and '$date' 
     AND DayOfWeek(date) <> 1 
     AND DayOfWeek(date) <> 7 
     AND customer.custid = '$custid' 
ORDER by date DESC 
+0

感谢正是我需要 – bsandrabr 2010-03-20 23:16:31

+0

你可能会如何表达对绑定检查玩玩看,如果你能找到一种方法来删除这对检查:'DayOfWeek(日期)%7> 1'。与往常一样,*基准*这是因为它很难阅读,引擎可能会为你做这件事。 – BCS 2010-03-21 22:07:54

+0

谢谢BCS,更好的工作 – bsandrabr 2010-03-23 23:12:38

2

我想你可以使用DAYNAME函数:

AND DAYNAME(date) NOT IN ('Saturday', 'Sunday') 

DAYNAME(date)

+0

谢谢我会尝试这也 – bsandrabr 2010-03-20 23:17:04

+0

字符串匹配,..恶作剧。 – BCS 2010-03-21 22:08:22

相关问题