【问题标题】:datediff not working in azure mldatediff 在 azure ml 中不起作用
【发布时间】:2018-06-14 18:21:50
【问题描述】:

我想使用应用 sql 转换模块查找 azure ml 中两个日期之间的差异。经过大量搜索后,我发现 DateDiff 有助于完成我的任务。不幸的是,它不起作用。它总是将日期部分显示为错误,说明数据库中没有列。如何解决。

SQL查询

SELECT datediff(month,Dispatch_Date,Order_Date) as Month_Diff 
from t1;

错误:- 不正确:SQL 逻辑错误或缺少数据库没有这样的列:月

【问题讨论】:

  • 错误 0069:SQL 查询“SELECT datediff(month,Dispatch_Date,Order_Date) as Month_Diff from t1;”不正确:SQL 逻辑错误或缺少数据库没有这样的列:月
  • 这是显示的错误。
  • 请发布您的命令。

标签: sql azure


【解决方案1】:

日期部分使用缩写,而不是直接使用月份。

SELECT datediff(mm,Dispatch_Date,Order_Date) as Month_Diff 
from t1;

有关详细信息,请参阅 SQL Server 文档:- SQL Server DatePart Documentation

【讨论】:

  • 感谢您的回复。我也尝试给出缩写,但我得到了同样的错误“没有列名 mm”
  • 我可以使用这种语法运行查询。 sqlfiddle.com/#!18/f874f/4。请检查您的表是否缺少 Dispatch_Date 或 Order_Date 列。
  • 这两列都可用。当我在 azure machine learning studio 中使用 Apply SQL Transformation 模块运行时,我遇到了这个问题。否则,它工作正常。
  • 任何帮助将不胜感激。
【解决方案2】:

Datediff 不能正常工作,因为它不是 SQL,而是 SQLLite。

您应该使用 SQLLite 函数来获得差异

例如获取日差使用

Cast((JulianDay(EndDate) - JulianDay(StartDate)) As Integer)

【讨论】:

    猜你喜欢
    • 2014-11-06
    • 2019-05-09
    • 1970-01-01
    • 2021-06-22
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-02-17
    • 1970-01-01
    相关资源
    最近更新 更多