gpt4 book ai didi

mysql - IBM Cognos _days_between 函数不起作用

转载 作者:搜寻专家 更新时间:2023-10-30 23:44:15 25 4
gpt4 key购买 nike

我在使用 Cognos 10 时遇到问题。我正在尝试计算日期之间的天数,因此我使用了 _days_between( date1, date2 ) 函数。

_days_between ([Derniere Date Changement diaphragme] , [Premiere Date Changement diaphragme])

我很确定这两个日期是日期对象(我在属性中将它们设置为日期并且数据库中的数据类型是日期),但我收到此错误:

QE-DEF-0459 CCLException
QE-DEF-0260 Erreur d'analyse syntaxique avant ou près de la position 55 de '_days_between([Derniere Date Changement diaphragme],'
QE-DEF-0261 QFWP - Analyse du texte : days_between ([Derniere Date Changement diaphragme] , [Premiere Date Changement diaphragme])

很抱歉错误是法语,错误是解析错误。我尝试将该函数与“硬”日期、我数据库中的其他日期一起使用,但没有任何效果!

编辑:该函数仅在我使用 _days_between( date1 ; date2) 而不是 _days_between( date1, date2) 时有效(为什么?)

但是我还是无法计算出这两个日期之间的天数。该函数返回 0。但是,_days_between( [Derniere Date Changement Diaphragme] ; 2015-05-01) 工作正常。

知道这里发生了什么吗?

最佳答案

Cognos _days_between 函数适用于日期,而不适用于日期时间。

一些数据库,如 Oracle,存储所有带有时间戳的日期。

  1. 在直接查询数据源时,尝试使用数据库的函数来获取此数据。如果可能,这是更可取的,因为它将工作推送到速度更快的数据库。

在 Oracle 中试试这个:

abs([Derniere Date Changement diaphragme]-[Premiere Date Changement diaphragme])

编辑:仅在您的一个字段上发生的错误表明该日期字段存在问题。直接针对您的 MySql 数据源运行查询,查看原始数据是否作为日期正确传递。

在 MySql 中做一个日期差异:DATEDIFF( [Derniere Date Changement diaphrage], [Premiere Date Changement diaphragme] )

编辑:第二点与 Cognos 10 无关。可以忽略它

  1. 当您必须使用 cognos 函数时,将传入的带时间日期 (datetime) 字段转换为不带任何时间 (date) 的 Date

    CAST([Derniere Date Change diaphragma],date)

关于mysql - IBM Cognos _days_between 函数不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/30982404/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com