我正在使用SSRS连接到Adempiere(postgresql)
在query中,我试图从日期中提取月-年数据,以便将其用于透视表/矩阵。
但是,当我用这个

> 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

在意识到我的问题是否是一个独特的问题之前,我到处寻找。也许不是,但我希望有人能帮助我,如果我转向错误的方向或有一些工作
多谢!

最佳答案

由于您正在查询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

更符合你模糊定义的东西。
第一个结果aMonth-Year被截断为月精度。More about timestamp in the manual.
第二个产生模式date_trunc()textMore about 06-2013 in the manual.

关于sql - 在查询SSRS中显示从日期开始的月份,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/17425108/

10-10 03:28