【问题标题】:I am trying to work with query where I want the count of number of days between two dates to be added up to tottal我正在尝试使用查询,我希望将两个日期之间的天数加起来总计
【发布时间】:2017-12-25 05:07:00
【问题描述】:

RespaApp 是一个日期,而 ProcessingMilestone 是一个日期。现在我想知道文件从 RespaApp 日期到 ProcesingMilestone 日期所用的天数,所以我正在执行 DateIFF sql 命令,但它不起作用。任何人?

case when RespaApp is not null and ProcessingMilestone is not null  DATEDIFF(day, RespaApp, ProcessingMilestoneDate) end

我认为这是导致错误的空脸颊,因为这是在软件上完成的,因此有一个单独的页面来过滤空值。

【问题讨论】:

标签: mysql sql datetime expression case


【解决方案1】:

Mysql datediff 只需要 2 个参数并以天为单位返回值

select case when (RespaApp is not null and ProcessingMilestone is not null ) THEN 
        DATEDIFF(RespaApp, ProcessingMilestoneDate) else null end
from your_table  

【讨论】:

  • 我逐字逐句地输入了一个错误::: Error Validating Expression :: 处理请求时发生错误。请检查查询语法,然后重试。
  • 在几秒钟内再次相距 :)
  • @Shadow for new user .. 看到代码真的很有用 .. 和 .链接..如果也有用,但需要用户的好评..所以我更喜欢首先提供代码和简短的讨论,但代码和链接togheter ..是最大的..无论如何..谢谢..
  • 好的,我知道这会让你成功,但它说的错误请厚脸皮,然后再试一次
  • 我添加的sintax是正确的,否则条件是..但应该没用..无论如何你只显示了一小部分代码,而且可能这部分还不够
【解决方案2】:

在 mysql datediff() 中只有 2 个参数(2 个日期),它是 timestampdiff() 函数,它有 3 个参数,如您所述。要么去掉 day 参数,要么改变函数名。

你也是missing函数调用前的then关键字:

... then datediff(...) ...

【讨论】:

  • 所以我应该把“一天”排除在外吗?
  • 当您看到下面的答案时,我将其取出,但出现错误:;验证表达式时出错 :: 处理请求时发生错误。请检查查询语法,然后重试。
  • 您必须提供错误的确切细节,我们不是介意读者!请注意,如果错误与查询的同一部分无关,那么您需要提出另一个问题。
  • 那个错误只是告诉我表达式不起作用
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-08-29
  • 2018-09-30
  • 2015-02-26
  • 2019-09-27
相关资源
最近更新 更多