【问题标题】:Showing Month-Year from Date, in Query for SSRS在 SSRS 查询中显示从日期开始的月份-年份
【发布时间】:2013-07-03 00:53:53
【问题描述】:

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

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

非常感谢!

【问题讨论】:

    标签: sql sql-server postgresql reporting-services


    【解决方案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.
    第二个产生模式06-2013textMore about to_char() in the manual.

    【讨论】:

    • 谢谢欧文!这对我很有帮助!
    • 我想知道,既然这是一个 Postgres 数据库,会不会有很多 Postgres 特有的功能不能在 SQL Server 中使用?这些功能是否仅限于查询部分或 SSRS 的其他部分?再次感谢:)
    • 我自己不使用 SSRS。与 Postgres DB 的任何交互都必须使用 SQL 的 Postgres 方言——它比 SQL Server 更接近 SQL 标准。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-04-28
    • 1970-01-01
    • 2013-09-25
    • 1970-01-01
    相关资源
    最近更新 更多