【问题标题】:DateAdd function in Excel SQL query not workingExcel SQL 查询中的 DateAdd 函数不起作用
【发布时间】:2018-02-27 12:00:05
【问题描述】:

我正在使用 Excel 进行 SQL 查询(连接到 ODBC)。 我对函数 DateAdd() 有疑问,它不能按预期工作。

我需要做的是获取过去六个月的数据。

我的代码类似于

选择 blablabla FROM blablabla 然后我有这个:

WHERE Note_0.Relate_key = Work_history_0.WO_Key AND Work_history_0.Order_date> DateAdd(Month, -6, Now()) 

我在互联网上搜索过,这个语法应该可以工作,但我收到了这个错误消息

找不到列“MONTH”或未指定查询。 (13865)

好像它没有我认为它有的参数,即“间隔、数字、日期”,而是其他的。

对此有任何想法吗?

【问题讨论】:

  • 您针对哪个数据库运行该查询? (如果访问DateAdd("m", -6, Now())
  • 根据错误是ProgressOpenEdge。所以ADD-INTERVAL(TODAY, -6, 'months')DATEADD('month', -6, NOW)
  • 我认为这是进步。刚刚在谷歌上搜索“进度日期功能”,发现TIMESTAMPADD。有效!不知道必须考虑数据库。谢谢各位
  • @CristinaK 您能否发布您问题的答案?

标签: sql excel dateadd


【解决方案1】:

这是你需要的:

DateAdd("m", -6, Now) 

甚至DateAdd("m", -6, Date),如果你想摆脱工作时间,来自Now

因此,您必须声明要减去“月份”。

DateAdd MSDN

【讨论】:

  • 我试了一下,还是一样的错误信息,只是改了一个字“找不到或未指定查询列“m”。(13865)”
  • @CristinaKuo - 从您的代码来看,我假设 SQL 在 String 内,然后将 DateAdd("m", -6, Date) 分配给变量并尝试 Order_date> " & thatVariable"Order_date> " & DateAdd("m",-6,Date)。顺便说一句,如果你使用字符串作为 SQL,你就有 SQL 注入的危险。
【解决方案2】:
WHERE Note_0.Relate_key = Work_history_0.WO_Key AND Work_history_0.Order_date >  ADD_MONTHS(curdate(), -6)

【讨论】:

    猜你喜欢
    • 2018-04-30
    • 2022-01-23
    • 1970-01-01
    • 2018-10-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多