在 OBIEE 12c 中转换 @biServer.variables 的数据类型

Posted

技术标签:

【中文标题】在 OBIEE 12c 中转换 @biServer.variables 的数据类型【英文标题】:Converting datatype of @biServer.variables in OBIEE 12c 【发布时间】:2022-01-22 22:16:58 【问题描述】:

我正在使用其中一个存储库变量来提取年份,这是 SQL 代码:

SELECT "Time_D"."Year"
  FROM "Order D"
 WHERE "Time_D"."Year" <= '@biServer.variables[' Current_year ']'
   AND "Time_D"."Year" >= '2020'
 ORDER BY "Time_D"."Year" DESC

但结果是:

2021,00
2020,00

如何去掉年份前面的',00'?

【问题讨论】:

【参考方案1】:

这一切都归结为数据类型。如果您的输出是数字类型,则默认情况下您将使用小数精度。与 2021 年一样。

“2021”是一个字符串,而不是一个数字。因此,如果您的输出是一个数字,那么您只需将结果格式化为“0 小数”。

也就是说 - 你在哪里写 SQL?!在直接数据库请求中?

【讨论】:

【参考方案2】:

Khm,它实际上是 在它的后面

就 Oracle 本身而言,您可以尝试使用 substrregexp_substr,例如

select substr("Time_D"."Year", 1, 4)         as year_1,
       regexp_substr("Time_D"."Year", '\d+') as year_2
from ...

或者,如果这是 OBIEE 中的 item,请设置其格式掩码(以删除小数)。

【讨论】:

以上是关于在 OBIEE 12c 中转换 @biServer.variables 的数据类型的主要内容,如果未能解决你的问题,请参考以下文章