Sql 如何从今天开始30天
从今天起30天内,我如何在查询中写入该行?相反,我将日期或月份从今天算起。将有助于了解哪个SQL。在MS SQL中:Sql 如何从今天开始30天,sql,sql-server,database,datetime,Sql,Sql Server,Database,Datetime,从今天起30天内,我如何在查询中写入该行?相反,我将日期或月份从今天算起。将有助于了解哪个SQL。在MS SQL中: Select from x WHERE yid = rid AND (h.test1 <=todaysdate) AND (h.test1>= 30 days from today) 知道哪个SQL会有帮助。在MS SQL中: Select from x WHERE yid = rid AND (h.test1 <=todays
Select from x
WHERE yid = rid
AND (h.test1 <=todaysdate) AND (h.test1>= 30 days from today)
知道哪个SQL会有帮助。在MS SQL中:
Select from x
WHERE yid = rid
AND (h.test1 <=todaysdate) AND (h.test1>= 30 days from today)
在MySQL中,您可以编写:
dateadd(dd, 30, todaysdate)
用户评论后编辑:
在MS SQL中,您可以使用
SELECT * FROM x
WHERE yid=r=d
AND h.test1 BETWEEN todaysdate AND ADDDATE(todaysdate, INTERVAL 31 DAY);
或
请注意,正如我在评论中所说,@dbaseman为您提供了添加天数的正确语法。我的查询就是使用这种语法的正确查询
用户评论后再次编辑:
在MySQL中,您可以编写:
dateadd(dd, 30, todaysdate)
用户评论后编辑:
在MS SQL中,您可以使用
SELECT * FROM x
WHERE yid=r=d
AND h.test1 BETWEEN todaysdate AND ADDDATE(todaysdate, INTERVAL 31 DAY);
或
请注意,正如我在评论中所说,@dbaseman为您提供了添加天数的正确语法。我的查询就是使用这种语法的正确查询
用户评论后再次编辑:
在Oracle中,使用BETWEEN表示简洁,使用sysdate表示今天的日期
SELECT * FROM x
WHERE yid=r=d
AND h.test1 BETWEEN DATEDIFF(dd, 30, NOW()) AND NOW();
在Oracle中,使用BETWEEN表示简洁,使用sysdate表示今天的日期
SELECT * FROM x
WHERE yid=r=d
AND h.test1 BETWEEN DATEDIFF(dd, 30, NOW()) AND NOW();
使用DateDiff函数获取30天的差异,并将其传递到查询中。选择DATEDIFFDAY,'2012-03-21',GETDATE这将返回整数位。。。等等,你查询的行比今天早,而且未来超过30天?好的一点@dbaseman我没有清楚地检查这一点..我有一个@CutOffDate,就是今天…但是选择从今天算起的最后30天使用DateDiff函数获取30天的差值,并在查询中传递相同的值。选择DATEDIFFDAY,'2012-03-21',GETDATE这将返回整数位。。。等等,你查询的行比今天早,而且在未来30多天?好的一点@dbaseman我没有清楚地检查这一点..我有一个@CutOffDate,就是今天…但是要选择从今天开始的最后30天,我认为这个问题不是针对mySQL的,那么为什么这个答案发布在这里???@Murtaza:OP-taged是问题SQL。。。这并不意味着MS-SQL和MySQL。。。我给了mysql一个答案,其他人可以添加其他sql…:日期介于今天和30天之间,从todays@Vadz:因此,如果您使用的是MySql,请接受我的最后一个查询,否则请使用@dbaseman one和BETWEEN语法。谢谢Marco..但是如何在SQL 2008报告查询中使用它..它与您刚才编写的相同吗?我想这个问题不是针对mySQL的,那么为什么在这里发布这个答案???@Murtaza:OP taged是问题SQL。。。这并不意味着MS-SQL和MySQL。。。我给了mysql一个答案,其他人可以添加其他sql…:日期介于今天和30天之间,从todays@Vadz:因此,如果您使用的是MySql,请接受我的最后一个查询,否则请使用@dbaseman one with BETWEEN语法。谢谢Marco..但如何将其放入SQL 2008 reports查询中..它与您刚才编写的查询相同吗?oracle中没有人问过答案。。请按要求回答。不要混淆其他人。@Murtaza sql server标记在我回答时不存在,我不知道它必须在哪个平台上工作。所以用oracle的方式问它。它和sql reports 2008一样吗?不,不是。我们需要使用datediff或dateadd函数来获取SQL中日期之间的结果在oracle中无人询问答案。。请按要求回答。不要混淆其他人。@Murtaza sql server标记在我回答时不存在,我不知道它必须在哪个平台上工作。所以用oracle的方式问它。它和sql reports 2008一样吗?不,不是。我们需要使用datediff或dateadd函数来获取SQL中日期之间的结果
SELECT *
FROM x
WHERE yid = rid AND h.test1 BETWEEN TRUNC (SYSDATE) AND TRUNC (SYSDATE) + 30;