使用SQL计算日期差异

使用SQL计算日期差异,sql,dbeaver,Sql,Dbeaver,我试图使用Mockaroo为我的数据库生成随机数据。我试图得到两个随机日期,并计算两者之间的差异作为第三列。有人知道怎么做吗。我试图做一个公式,但它抛出了一个错误 我想续航时间是EndDate-StartDate的结果 这里是错误 公式DATEDIFF(year,StartDate,EndDate)中的语法错误为DATEDIFF好的,所以我仔细研究了一下 首先,Mockaroo中函数的正确名称是DIFF_DATE,而不是DIFFDATE 其次,请注意datetime字段实际上是如何显示每个字段

我试图使用Mockaroo为我的数据库生成随机数据。我试图得到两个随机日期,并计算两者之间的差异作为第三列。有人知道怎么做吗。我试图做一个公式,但它抛出了一个错误

我想续航时间是EndDate-StartDate的结果

这里是错误
公式
DATEDIFF(year,StartDate,EndDate)中的语法错误为DATEDIFF

好的,所以我仔细研究了一下

首先,Mockaroo中函数的正确名称是
DIFF_DATE
,而不是DIFFDATE

其次,请注意datetime字段实际上是如何显示每个字段的日期范围的?Mockaroo Datetime字段在该范围内生成数据,似乎它将它们视为两个独立的列

因此语法失败了,因为Mockaroo将您对
startDate
endDate
的使用解释为总共4个日期。如果您仅使用
date_diff('years',startDate,startDate)它不再给出语法错误


然而,我正在测试数据,它似乎也没有返回正确的差异,但可能与您的数据不同。用这个公式试试。

任何时候“它抛出错误”你都需要告诉我们错误是什么。顺便说一句:数据库不会抛出错误。他们只是回滚事务。抱歉~'公式“DATEDIFF(year,StartDate,EndDate)为DATEDIFF;”中的语法错误你能发布整个查询吗?该语法看起来正确,并且与DATEDIFF的文档一致。查询的另一部分可能有错误。一般来说,最好是发布代码,而不仅仅是图像。图像可以帮助我们可视化您的概念,但代码是您试图修复的。我正在查看结果,Mockaroo本身确实存在一些语法错误。然而,我想说的是,要么是缺少了一些东西,要么是这个特性本身不是很可靠。我试着计算几年、几个月和几天的差异,即使比较2020-07-01和1950-01-20这样的日期,它们都返回0