Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/259.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# SQL语句从一周前获取数据?_C#_Sql_Web Applications - Fatal编程技术网

C# SQL语句从一周前获取数据?

C# SQL语句从一周前获取数据?,c#,sql,web-applications,C#,Sql,Web Applications,我不熟悉SQL语句,在根据修改日期获取一周前的数据时遇到了一些问题 SELECT People.first, People.last, company.companyname, People.lastmodified FROM job_prof INNER JOIN People ON job_prof.cid = People.cid INNER JOIN company ON job_prof.Id = company.id -> WHERE Peopl

我不熟悉SQL语句,在根据修改日期获取一周前的数据时遇到了一些问题

   SELECT People.first, People.last, company.companyname, People.lastmodified
   FROM job_prof 
   INNER JOIN People ON job_prof.cid = People.cid 
   INNER JOIN company ON job_prof.Id = company.id
-> WHERE   People.lastmodified = DATE(DATE_ADD(GETDATE(), INTERVAL -7 DAY))
   ORDER BY People.lastmodified DESC";
表中的日期示例为2011年6月9日12:08:01 PM

任何建议都会有帮助


谢谢你

日期的诀窍是先用DATEADD和你需要的任何东西创建一个范围,即

declare @start datetime = ...,
        @end datetime = ...
然后在该范围内搜索;我通常包括开始和排除结束,因为这允许一个简单的“10到12之间的数据”

其中row.lastmodified>=@start
和row.lastmodified<@end

除非值是整单位(天等),否则具有范围是至关重要的——否则相等性不会很好地工作。而且简单的>=和
其中DATEDIFF(day,People.lastmodified,GETDATE())如果它是您要查找的范围,例如从一周前开始修改到一周前结束的任何内容,那么这就非常容易了

WHERE  DATEDIFF(day,  People.lastmodified, GETDATE()) <= 7
WHERE People.lastmodified BETWEEN DATEADD(week, -1, getdate()) AND DATEADD(week, -2, getdate())

你想要的确切范围是多少?一周前有什么改动吗?上周才修改的东西?明白了!其中DATEDIFF(day,GETDATE(),People.lastmodified)>=-7谢谢@Bara R和Thanke everyone:)请记住,如果您打算忽略时间,您可能需要在日期比较中截断时间部分。返回两周怎么样。。。所以不是上周,而是两周前()
WHERE People.lastmodified BETWEEN DATEADD(week, -1, getdate()) AND DATEADD(week, -2, getdate())