我使用的是cognos 10,我需要用这种格式显示日期‘yyyy’,但它显示的日期像'2014-04‘和'2014-4’一样,所以它正在按顺序读取日期,首先生成'2014-11‘,因为它以一个日期开头。我需要给那些两位数的整数加一个零,这样月份(特别是)就会按顺序显示。
下面是我尝试创建的代码:
_year( start_date ) ||'-'|| _month( start_date )
IF(_month(start_date) > 10)
THEN('0' +_month(start_date))发布于 2018-07-05 20:59:34
简单回答:使用yyyy-MM。
你的问题缺乏很多细节,所以我的回答是基于大量的猜测。
您询问的是格式设置,还是要转换值?格式化可以不使用代码完成。数据项的代码应该是start_date。
这是用于列表列体的吗?在哪里输入您的格式(yyyy-mm)?是否使用数据格式属性?
在Data format对话框中,如果您找不到另一个可以满足您需要的设置,则可以将模式输入到pattern属性中。如果您查看数据格式对话框底部的提示,您会注意到使用yyyy-mm会给您一个四位数的年份、一个连字符和一个两位数的分钟。也许你应该试试yyyy-MM。对我来说很管用。
排序:即使您使用yyyy-M作为模式,2014-04-22 (显示为2014-4),也应该在2014-11-01之前排序(显示为2014-11)。排序错误的唯一原因是如果它使用的是除日期之外的其他数据。
https://stackoverflow.com/questions/51197883
复制相似问题