【问题标题】:SQL Select all entries from last two monthsSQL 选择过去两个月的所有条目
【发布时间】:2015-12-25 00:06:37
【问题描述】:

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

这是我的简单代码:

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

【问题讨论】:

  • SQL 将不知道它必须从哪个列比较客户创建日期
  • 这很简单,但是告诉我们日期在哪一列,以及您使用的是哪个服务器?
  • 您好,我更新了我的帖子,谢谢
  • 请同时标记您的 dbms
  • 当然抱歉是 2012 microsoft sql server

标签: sql sql-server select sql-server-2012


【解决方案1】:
Select *
From Customers
Where 
    OrderDate between Dateadd(M,-2,OrderDate) And Getdate()

【讨论】:

    【解决方案2】:
    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 个月的数据。

    【讨论】:

    • 它返回一个错误“无效或缺少表达式”
    • 发布您正在使用的完整查询
    • 但是当我添加 "where P.DateTime >= dateadd(month, -2, getdate())" 我得到这个错误
    • 能不能也发一下表vperfhourly的结构?
    • “发布完整查询”意味着包括添加的where 子句。
    猜你喜欢
    • 1970-01-01
    • 2015-08-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多