首页 > 解决方案 > COGNOS:在 Cognos 中将 SQL 日期提示转换为日期提示

问题描述

我目前在 Cognos 中转换 SQL 日期提示时遇到问题。我想在 Cognos Report Studio 10.2 中重建一个 SQL 查询。

在我的 SQL 查询中,我实现了两个提示。第一个:

SQL: where :date between DATE1 and DATE2

我可以在 Cognos 中使用以下函数来解决这个问题:

认知

where TO_DATE (#sq(prompt ( 'date_prompt', 'date' ))#, 'YYYY-MM-DD') between DATE1 and DATE2

但现在我遇到了以下提示问题,我必须将 der 日期转换为 char,然后再转换为数字:

SQL:

where PART in (299912, to_number(to_char(:date, 'YYYYMM')))

我尝试了以下功能:

认知:

where PART in (299912, to_number(to_char(TO_DATE (#sq(prompt ( 'date_prompt', 'date' ))#, 'YYYYMM'))))

但我得到以下错误:

UDA-SQL-0107 “打开结果”操作期间出现一般异常错误。
ORA-01843 没有有效月份

标签: sqloraclereportingpromptcognos

解决方案


由于您已经在使用宏,只需让它完成工作。

#
timestampmask(prompt('StartDate','timestamp'),'YYYYMM')
#

推荐阅读