在查询SSRS时显示从日期开始的月份年份

时间:2013-07-02 12:02:19

标签: sql sql-server postgresql reporting-services

我目前正在使用SSRS连接到Adempiere(postgresql)

在查询中,我试图从日期中提取月 - 年数据,以便我可以将其用于数据透视表/矩阵目的。

然而,当我使用这个

> SELECT        DATEADD(MONTH, DATEDIFF(MONTH, 0, adempiere.c_invoice.dateinvoiced, 0),
> 
> FROM            adempiere.c_invoice

我收到这样的错误

>SQL Execution Error
>
>Excuted SQL statement: SELECT DATEADD(MONTH,DATEDIFF(MONTH,0,dateinvoiced,0)
>
> FROM adempere.c_invoice 
>
>Error Source: PSQLODBC.DLL Error Message:
>
> ERROR [42601] ERROR: syntax error at or near "FROM"; 
>
>Error while executing query

我已经高低搜索,然后才意识到我的问题是否是一个独特的问题。也许它不是,但我希望有人可以帮助我,如果我指导错误的方向或有一些工作

非常感谢!

1 个答案:

答案 0 :(得分:1)

由于您正在查询Postgres数据库,因此您显然无法使用特定于SQL Server的dateadd()

使用Postgres功能,如:

SELECT date_trunc('month', dateinvoiced) AS month_year1
      ,to_char(dateinvoiced, 'MM-YYYY')  AS month_year2
FROM   adempiere.c_invoice

更适合你的模糊定义Month-Year 第一个产生timestamp截断到月精度。 More about date_trunc() in the manual.
第二个产生模式text的{​​{1}}。 More about to_char() in the manual.