所以这就是问题所在,我想展示一周内的数据。
我今天可以参加并花7天时间进行查询。 但我想从正常的一周,从周日到周六这样做。
因此,如果我今天26 / feb / 2017进行查询,我只能从今天的星期日获取数据。 如果我选择上周查看,我应该可以看到从19日到25日。
我怎样才能在sql上执行此操作?我还在使用c#
编辑:所以,我想显示当天/周/月的信息,到目前为止
Consulta = "select nombre,SUM(horas) as totalHoras from SI_CanHoras Where dia='" + fecha + "' group by nombre ";
适用于今天,因为这个月很容易,因为我可以很容易地得到这个月,但在一周我不知道如何获得普通或下周的日期从26日到3月4日 - 3月5日到3月11将是下一个,等等。
到目前为止,我唯一的解决办法就是手工编写这几周
String week1 = 26/02/2017 - 27/02/2017 - 28/02/2017
每一周,因为我不想在今天前七天寻找
答案 0 :(得分:1)
您可以使用
https://dev.mysql.com/doc/refman/5.5/en/date-and-time-functions.html#function_dayofweek
Dayofweek功能获得实际的一天。它将返回一个数字,1-7。然后,您可以将其添加到您希望减去的天数(一周7个)(-1,因为星期日是1)以获得您的开始日期。现在添加6,你就会有一个结束日期。
所以,今天是2月26日星期日。 DAYOFWEEK()= 1.现在7 + 1 -1 = 7.因此从日期开始减去7天。现在是2月19日,也就是上周日。那是你的开始日期。现在添加6,其2月25日,星期六。