Sql 在Cognos Report Studio中将日期格式转换为YYYYMM

Sql 在Cognos Report Studio中将日期格式转换为YYYYMM,sql,datetime,cognos,cognos-8,cognos-10,Sql,Datetime,Cognos,Cognos 8,Cognos 10,我有一个日期列,格式为2014年5月12日12我想将其转换为yyyymm/201405格式。 我尝试了多种选择,比如 extract(year, sys_date)*100 + extract(month, sys_date))*100 cast(extract( year, sys_date), varchar(4)) + cast(extract( month, sys_date), varchar(2)) 这个可以工作,但以YYY,YMM格式返回我 CAST(to_char(sys_da

我有一个日期列,格式为2014年5月12日
12
我想将其转换为
yyyymm/201405
格式。 我尝试了多种选择,比如

extract(year, sys_date)*100 + extract(month, sys_date))*100
cast(extract( year, sys_date), varchar(4)) + cast(extract( month, sys_date), varchar(2))
这个可以工作,但以
YYY,YMM
格式返回我

CAST(to_char(sys_date, 'YYYYMM'), INT )
对于以上两种情况,它给出了一个错误:

 An error occurred while performing operation 'sqlOpenResult' status='-28'

请有人给我引路好吗。先谢谢你

我得到了我想要的东西。这就是我所做的:

translate(CAST(to_char(sys_date, 'YYYYMM'), varchar(6) ), ',' , ' ')
我相信会有更好的方法得到结果,但现在我会使用这个SQL,因为它提供了我想要的:)

我这样做了

substring(cast(substring(cast([sys_date];char(7));1;4)||substring(cast([sys_date];char(7));6;2);char(6));1;6 )

对我而言,已工作

请不要在SQL中更改它。使用报表单元格本身选择一种显示格式。@Zane:请详细说明一下好吗?我刚开始在Cognos工作几天,所以不明白你的意思。谢谢,您是在列中还是在图形中显示这些日期?我想在列中显示它在报告中选择列。在左侧的“属性”窗格中,可以修改格式。在数据格式字段中单击,选择类型作为日期。然后,您可以按照自己的意愿对其进行格式化。是的,我可以这样做,但我希望该字段不在最终报告中,而是在内部执行一些计算和联接。是的,但如果您使用该列进行联接,为什么要更改日期格式?我要联接的列是“YYYYMM”格式。因此必须在内部将其更改为该格式。我认为您是反向操作的。内部表示应该始终是时态数据(如日期值)。“格式”是指演示方面的内容。如果我想要一块牛排,我会得到一块牛排,我不会尝试将汉堡重新组装成牛排的形状。那么为什么不修复一个不在日期数据类型中的呢。这就好比你的轮胎瘪了,你没有换新轮胎,而是把另一个轮胎瘪了,这样它就能平稳行驶。