计算 DATE 出现之间的天数差异

发布于 2025-01-17 06:11:06 字数 750 浏览 4 评论 0原文

尝试计算案例中两次出现之间的日期差(date1 - date2 - 1),但出现以下错误: 选择失败。 3707:语法错误,需要在 ')' 和 'DAY' 关键字之间有类似 'END' 关键字的内容。

这是我尝试过的:

SELECT  BIFTA8_DT_ELAB, BIFTA8_FLAG_ELIMINA, 
BIFTA8_GRADO, BIFTA8_CODICE_COM,
BIFTA8_PROT, BIFTA8_DATA_ORA_UD, 
BIFTA8_SEZ, BIFTA8_TIPO_RICORR,
BIFTA8_PROG_RICORR, BIFTA8_UFFICIO, 
BIFTA8_DATA_USCITA, BIFTA8_ESITO_DEC,
BIFTA8_DATA_USCITA, BIFTA8_ESITO_DEC,
CASE WHEN MIN(DATA_USCITA)<TO_DATE('9999-12-31', 'YYYY-MM-DD') 
    THEN (BIFTA8_DATA_ORA_UD - MIN_DATA_USCITA) DAY -1 
    ELSE 0 END AS OUT_TEMPO_AVVISO,
CASE WHEN OUT_UDIENZA_SVOLTA='P' 
    AND MIN_DATA_USCITA=TO_DATE('9999-12-31', 'YYYY-MM-DD') 
    THEN (BIFTA8_DATA_ORA_UD - BIFTA8_DT_ELAB) DAY -1 
    ELSE 0 END AS OUT_TEMPO_ATTESA

Trying to calculate a date difference beteween two occurrences in cases (date1 minus date2 minus 1), but get the following error:
SELECT Failed. 3707: Syntax error, expected something like an 'END' keyword between ')' and the 'DAY' keyword.

Here is what i tried:

SELECT  BIFTA8_DT_ELAB, BIFTA8_FLAG_ELIMINA, 
BIFTA8_GRADO, BIFTA8_CODICE_COM,
BIFTA8_PROT, BIFTA8_DATA_ORA_UD, 
BIFTA8_SEZ, BIFTA8_TIPO_RICORR,
BIFTA8_PROG_RICORR, BIFTA8_UFFICIO, 
BIFTA8_DATA_USCITA, BIFTA8_ESITO_DEC,
BIFTA8_DATA_USCITA, BIFTA8_ESITO_DEC,
CASE WHEN MIN(DATA_USCITA)<TO_DATE('9999-12-31', 'YYYY-MM-DD') 
    THEN (BIFTA8_DATA_ORA_UD - MIN_DATA_USCITA) DAY -1 
    ELSE 0 END AS OUT_TEMPO_AVVISO,
CASE WHEN OUT_UDIENZA_SVOLTA='P' 
    AND MIN_DATA_USCITA=TO_DATE('9999-12-31', 'YYYY-MM-DD') 
    THEN (BIFTA8_DATA_ORA_UD - BIFTA8_DT_ELAB) DAY -1 
    ELSE 0 END AS OUT_TEMPO_ATTESA

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。
列表为空,暂无数据
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文