我在Analysis中遇到了高级SQL过滤器和日期比较的问题。
我有两个日期字段Report Date
和Validated Date
。我正在高级SQL过滤器中进行比较,这两个日期应匹配。
在这种情况下,Report Date
为28-FEB-2012 12:00
,Validated Date
为28-FEB-2012 20:00
。我的分析说这两个日期是平等的。除了技术上,他们不是。
在SQL中表示,我正在努力实现这个目标:
TO_CHAR(REPORT_DATE, 'DD-MON-YYYY') = TO_CHAR(VALIDATED_DATE, 'DD-MON-YYYY')
我在高级SQL过滤器中尝试过该行,但它无效。我试过了:
EVALUATE(to_date(%1, %2), REPORT_NAME, 'DD-MON-YYYY')
......而且OBIEE不接受它。
那么,OBIEE 11g大师,我如何正确地比较这些日期,以便它们显然不匹配?
答案 0 :(得分:1)
您是否看过OBIEE生成的物理SQL?也许有毫秒差异。您是否需要比较小时和分钟,或者与CAST AS DATE功能进行比较是否有效。 另外,您没有提到为什么Evaluate不起作用,您是否调整了OBIEE配置文件中的参数以使用该功能? 此致
答案 1 :(得分:0)
您可以将两者都转换为时间戳,并将其与timestampdiff()
进行比较N = 1 + (dimension of the grid)
示例:
N
然后您可以将结果用作条件(例如,如果差异大于0秒,则X)
最详细的时间间隔是SQL_TSI_SECOND,因此如果@Ana GH建议存在差异,则无法使用