从 DevExpress 中计算日期差异

Computing date difference from within DevExpress

我们使用使用 DevExpress 构建报告的第三方软件。通常在 Oracle 上——我可以通过简单地减去它们来轻松地得到日期的差异:

TRUNC(sysdate) - TRUNC(a.birth_date) AS datediff

我在 DevExpress 中使用了相同的逻辑:

CAST(CAST(CURRENT_DATE AS VARCHAR(9)) AS DATE) - CAST(CAST(a.birth_date AS VARCHAR(9)) AS DATE) AS datediff

但是这样做会给我这个错误信息:

Invalid cast from 'Decimal' to 'DateTime'. Couldn't store <35> in DATEDIFF Column.
Expected type is DateTime.

我该如何解决这个问题?


备注:

看起来最简单的解决方案是将结果转换为 decimal

CAST(CAST(CAST(CURRENT_DATE AS VARCHAR(9)) AS DATE) - CAST(CAST(a.birth_date AS VARCHAR(9)) AS DATE) AS DECIMAL) AS datediff