【发布时间】:2019-08-25 02:32:48
【问题描述】:
我们使用使用 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
但是这样做会给我这个错误信息:
从“十进制”到“日期时间”的转换无效。无法将 存储在 DATEDIFF 列中。
预期类型为 DateTime。
我该如何解决这个问题?
注意事项:
- 这里有很多转换,但这只是一种解决方法,因为
TRUNC不起作用,所以我基本上只是转换为VARCHAR,基本上删除时间部分并将其转换回@ 987654325@ 字段。 -
CURRENT_DATE相当于 DevExpress 世界中的SYSDATE。
【问题讨论】:
标签: oracle date datetime devexpress datediff