【问题标题】:Date in Text format- Birt文本格式的日期 - Birt
【发布时间】:2018-10-17 16:18:45
【问题描述】:

如果日期是“08-02-2018”,我需要显示一个文本日期,例如“2018 年 8 月”。

所以,我写了这个 " MONTHNAME(MAIL_DATE + 12 DAYS)||', '||YEAR(MAIL_DATE + 12 DAYS) as DateInText " 其中 MAIL_DATE 是今天的日期。

而且,我已经像 row["DateInText "] 那样在 Birt 中进行映射,但我没有像 "August, 2018" 那样获得预期的值。

【问题讨论】:

  • 仅供参考:birt 也支持 JavaScript
  • 你的问题很不清楚。您的语法似乎是 SQL。所以这取决于您使用的数据库系统。此外,您的 MAIL_DATE 是 DATE 或 TIMESTAMP 列还是 VARCHAR 或 ...?您应该始终在 BIRT 之外测试您的 SQL 语句。
  • 是的,MAIL_DATE 是一个日期,是的,它更像是一个放在 Birt 中的 sql 问题。
  • 就个人而言,我会在 SQL 中完成所有计算和转换,并选择格式化日期作为 VARCHAR2 列(在 Oracle 语音中:使用 TO_CHAR)

标签: sql db2 birt


【解决方案1】:

您可以利用内置的 BIRT 函数来实现这一点。 在表格的详细信息行中,右键单击单元格并转到“编辑值/表达式..” 在表达式中你可以试试这个:

BirtDateTime.month(new Date(dataSetRow["DateInText"]),2) + ", " + BirtDateTime.year(new Date(dataSetRow["DateInText"]));

我希望这行得通。

谢谢

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-01-28
    • 2016-12-02
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多