我目前正在使用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
我已经高低搜索,然后才意识到我的问题是否是一个独特的问题。也许它不是,但我希望有人可以帮助我,如果我指导错误的方向或有一些工作
非常感谢!
答案 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.