如何比较obiee中的月份?

Posted

技术标签:

【中文标题】如何比较obiee中的月份?【英文标题】:How to compare month in obiee? 【发布时间】:2020-11-23 00:11:22 【问题描述】:

这个case语句在obiee中怎么写?

CASE WHEN to_char(to_date(hire_dt, 'MM-DD-YYYY'), 'Month') <> to_char(to_date(start_dt-1, 'MM-DD-YYYY'), 'Month') THEN 1 Else 0

月份不等:

例子:

0   -> 09/14/2021   09/16/2021
1   -> 12/31/2019   03/15/2017

【问题讨论】:

hire_dtstart_dt 列的数据类型是什么?而且,您想比较月份和年份(即2020-09-142019-09-16 不同的月份)还是只想比较月份(即2020-09-142019-09-16 都是九月并且是同一个月)? hire_dt 和 start_dt 的数据类型是日期。我只想比较月份。如果同月则为 0 如果不同月则为 1 但是,“同月”是什么意思?同年同月?还是任何一年的同一个月? 不要在约会时使用TO_DATE。这会将它们隐式转换为字符串,然后将它们转换回日期,如果您的 NLS_DATE_FORMAT 会话参数与您使用的格式模型不匹配,那么您的查询将引发异常。 任何一年的同一个月。我只想比较月份而不考虑年份。 【参考方案1】:

我只想比较月份而不考虑年份。

在甲骨文中:

CASE
WHEN EXTRACT( MONTH FROM hire_dt ) = EXTRACT( MONTH FROM start_dt )
THEN 1
ELSE 0
END

CASE
WHEN TO_CHAR( hire_dt, 'MM' ) = TO_CHAR( start_dt, 'MM' )
THEN 1
ELSE 0
END

这个OBIEE Date functions documentation 建议你可以使用MONTH

CASE
WHEN MONTH( hire_dt ) = MONTH( start_dt )
THEN 1
ELSE 0
END

【讨论】:

以上是关于如何比较obiee中的月份?的主要内容,如果未能解决你的问题,请参考以下文章

如何在 obiee 中显示一个月中所有日期的一个值?

Obiee 如何在报告中的行中引入指标?

obiee中的预测功能,如何使用?

什么是 obiee 中的性能调整以及我们如何解决这个问题的过程是什么?帮我举个例子,谢谢

如何在通过 OBIEE 中的代理发送报告时编辑电子邮件名称?

如何在 OBIEE 12c 中查看业务模型和映射层中的数据?