【问题标题】:DATE FORMATTING - COGNOS日期格式 - COGNOS
【发布时间】:2018-07-06 04:59:34
【问题描述】:

我使用的是 cognos 版本 10,我需要以“yyyy-mm”这种格式显示日期,但它会将“2014-04”之类的日期显示为“2014-4”,因此它会乱序读取日期首先生成“2014-11”,因为它以一个开头。我需要在这些两位数整数中添加一个零,这样月份(特别是)将按顺序显示。

这是我尝试创建的代码:

_year( start_date ) ||'-'|| _month( start_date )

IF(_month(start_date) > 10)
THEN('0' +_month(start_date))

【问题讨论】:

    标签: date cognos-10


    【解决方案1】:

    简答:使用yyyy-MM

    你的问题缺乏很多细节,所以我的回答是基于相当多的猜测。

    您是在询问格式,还是要转换值?无需代码即可进行格式化。您的数据项的代码应为start_date

    这是 List 列正文 的吗?您在哪里输入格式 (yyyy-mm)?你在使用 Data format 属性吗?

    数据格式 对话框中,如果您找不到其他可以满足您要求的设置,您可以在 Pattern 属性中输入一个模式。如果您查看 数据格式 对话框底部的提示,您会注意到使用 yyyy-mm 会得到一个四位数的年份、一个连字符和一个两位数的分钟。也许你应该试试yyyy-MM。它对我有用。

    关于排序:即使你使用yyyy-M作为模式,2014-04-22(显示为2014-4),也应该在2014-11-01(显示为2014-11)之前排序。排序错误的唯一原因是它使用了日期以外的其他数据。

    【讨论】:

    • 感谢您的回复。我同意我可能没有提供足够的细节,但我确实发现将它变成一个强制转换函数:cast(_month(field), varchar(2)) 很重要。此外,使用 || 将字符串零连接到该函数如果月份少于 10 个月,这很有用。再次感谢。希望如果有 cognos 的人遇到这个问题,他们可以尽快解决。
    • 必须在小于 10 的月份的开头使用 || 连接一个零用于认知
    猜你喜欢
    • 2016-04-29
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2021-06-14
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2010-11-03
    相关资源
    最近更新 更多