1

我目前正在使用 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

在意识到我的问题是否是一个独特的问题之前,我已经进行了高低搜索。也许不是,但如果我转向错误的方向或有一些解决方法,我希望有人能帮助我

非常感谢!

4

1 回答 1

1

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

使用 Postgres 函数,如:

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

无论哪种方式更适合您的模糊定义Month-Year
第一个产生timestamp截断到月的精度。更多关于date_trunc()手册。
第二个产生text模式的 a 06-2013更多关于to_char()手册。

于 2013-07-02T16:53:53.133 回答