2015-09-27 44 views
1

我想动态选择最近两个月的所有条目,并且在我的查询中没有输入日期范围。SQL选择最近两个月的所有条目

这里是我的简单的代码:

SELECT Customer_Name, Date FROM table_Customer; all data between last two month 

在此先感谢您的帮助

SELECT 
    ME.FullName, 
    R.RuleDefaultName, 
    PR.ObjectName, 
    PR.CounterName, 
    P.DateTime, 
    P.SampleCount, 
    P.MinValue, 
    P.MaxValue, 
    P.AverageValue, 
    P.StandardDeviation 
FROM 
    Perf.vPerfHourly P 
INNER JOIN vManagedEntity ME ON 
    P.ManagedEntityRowId = ME.ManagedEntityRowId 
INNER JOIN vPerformanceRuleInstance PRI ON 
    P.PerformanceRuleInstanceRowId = PRI.PerformanceRuleInstanceRowId 
INNER JOIN vPerformanceRule PR ON 
    PRI.RuleRowId = PR.RuleRowId 
INNER JOIN vRule R ON 
    PRI.RuleRowId = R.RuleRowId 
+1

SQL不知道从哪个列有比较创建日期 – rajuGT

+1

这是很容易的客户,但如何告诉我们的日期是在什么字段,当你正在使用的服务器? – Sjon

+0

你好,我更新了我的文章谢谢 – kekimian

回答

4
SELECT Customer_Name, Dt 
FROM table_Customer 
where dt >= dateadd(day, -60, getdate()) 

或者

SELECT Customer_Name, Dt 
FROM table_Customer 
where dt >= dateadd(month, -2, getdate()) 

您应该确保不使用保留关键字作为列名。

请确保您将dt替换为适当的date列。该解决方案假定您需要从当前日期开始的前2个月的数据。

+0

它返回一个错误“无效或缺少表达” – kekimian

+1

发布您正在使用的完整查询 –

+0

我已更新帖子 – kekimian

0
Select * 
From Customers 
Where 
    OrderDate between Dateadd(M,-2,OrderDate) And Getdate() 
+1

这是如何比接受的解决方案更好? –