我正在将Hyperion Reporting Studio与Oracle和DB2数据库结合使用。我们的字段具有开放日期和关闭日期,因此对于打开或关闭日期字段,格式自然是6/02/16 06:18:05 PM。有没有办法修剪日期部分只留下时间戳?我尝试过TURNC以及自定义SQL,但没有任何工作。我知道我可以使用= TIME公式在excel中完成它。我可以在查询中添加计算项目或结果,我只是不知道该怎么做。
答案 0 :(得分:0)
也许正确使用to_char?
public static String minifyHtml(String html) {
HtmlCompressor htmlCompressor = new HtmlCompressor();
htmlCompressor.setRemoveSurroundingSpaces(HtmlCompressor.ALL_TAGS);
htmlCompressor.setPreserveLineBreaks(false);
htmlCompressor.setCompressCss(true);
return htmlCompressor.compress(document.toString());
}
有关Oracle中日期/时间格式的更完整说明,请参阅http://edstevensdba.com/oracle-data-types/understanding-oracle-date-formats/
答案 1 :(得分:0)
一种方法是更改数据类型。这不是正确的方法,根据你正在做的事情可能是不明智的,但它会节省很多格式化的麻烦。
要更改数据类型:在“查询”部分的请求行的字段中,转到“属性”(可以双击,或右键单击并选择“属性”)。这将显示该列/字段的SQL。在右侧,会有一个按钮选项。它所做的就是揭示数据类型。这通常是Hyperion基于底层数据源的最佳猜测。将其更改为时间并再次处理。这将更改每个子节的该字段的所有后续使用:基于该查询部分的结果,数据透视等。
另一种方法是更改数字格式。如果您只是关心化妆品,这是使用什么,只希望它适用于该部分。在“结果/透视/等”部分中,右键单击该列,然后选择“数字”。然后,选择适合您的时间格式。
另一种方法是,如果您确实需要删除日期以进行计算,可以将其转换为字符串,从字符串中删除日期,然后将其转换回时间。在“结果”部分中,右键单击“添加计算项”,然后执行类似
的操作var objField = YOUR_DATETIME_COLUMN;
var strField = ToChar(objField);
var numFirstspace = strField.indexOf(' ');
var strTime = strField.substring(numFirstspace);
var tmTime = ToDate(strTime);
tmTime
假设我说得对,它仍会显示01/01/1904 HH:mm AM/PM
...所以你仍然需要右键单击列,选择数字,然后将数字格式更改为你的时间。
另一种方法是在查询的请求行中添加计算项。这需要与上一版本一样,但使用SQL语法而不是Hyperion的Javascript版本。