我目前正在使用 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
我到处搜索,然后才意识到我的问题是否是一个独特的问题。也许不是,但我希望有人可以帮助我,如果我转向错误的方向或者有一些解决方法
非常感谢!
最佳答案
由于您正在查询 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
模式 06-2013
。 More about to_char()
in the manual.
关于sql - 在 SSRS 查询中显示从日期开始的年月,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17425108/