SSRS 的自定义日期格式系列访问 odbc

Custom date format iseries access odbc for SSRS

如何解决我的以下问题? 1. 我正在使用(系列访问 odbc 驱动程序)从 AS/400 DB2 将数据提取到 SSRS。 2. 我想将列存储格式化为整数到日期格式。 下面的示例 = 20180612 是 SQL 查询。 使用以下查询,

SELECT  CHAR(DATE(SUBSTR(DIGITS(20180612),1,4)||'-'||
        SUBSTR(DIGITS(20180612),5,2)||'-'||
        SUBSTR(DIGITS(20180612),7,2)),ISO) AS RESULTSDATE

输出 = 2018-06-02

问题:我怎样才能生成像 d/m/yyyy 这样的自定义日期格式 我用过,ISO, USA, LOCAL, JIS, EUR 都没有yield.

示例:2018 年 2 月 6 日

如果您想在 SQL 服务器中进行转换,最接近的是 SQL 服务器中的美国 110 (mm-dd-yyyy)。

如果你的数据集有2018-06-02的字段,可以使用CDATE函数为SSRS进行转换它设置为一个日期,然后使用 FORMAT 属性 或 FORMAT 函数按照您想要的方式格式化文本框。

格式函数:

=FORMAT(CDATE("2018-06-02"), "M/d/yyyy")

文本框的格式 属性:

/* 这是我所能达到的最接近的结果,有一个前导零 */

select                                        
varchar_format(                               
timestamp_format(char(20180612), 'YYYYMMDD')  
, 'DD/MM/YYYY') as resultdate                              
  from my8digitdatetable                       

/* 导出 IRL 发送日期 */

select                                        
cast(                               
timestamp_format(char(20180612), 'YYYYMMDD')  
as date) as resultdate                               
  from my8digitdatetable                       

我已经知道了。我只是把它格式化成没有格式化的日期。

SELECT DATE(SUBSTR(DIGITS(MIN(DTAHRS.HREMCP.EMREDT)),1,4)||'-'||
        SUBSTR(DIGITS(MIN(DTAHRS.HREMCP.EMREDT)),5,2)||'-'||
        SUBSTR(DIGITS(MIN(DTAHRS.HREMCP.EMREDT)),7,2)) AS RESULTSDATE

之后,我把它作为子查询,这样我就可以将它传递给参数。 下面是我的整个查询,然后在 SSRS 我可以使用 date/time 参数控制来与结果进行比较。

SELECT x.RESULTSDATE
FROM (  SELECT DATE(SUBSTR(DIGITS(MIN(DTAHRS.HRLVTP.LTLDTE)),1,4)||'-'||
        SUBSTR(DIGITS(MIN(DTAHRS.HRLVTP.LTLDTE)),5,2)||'-'||
        SUBSTR(DIGITS(MIN(DTAHRS.HRLVTP.LTLDTE)),7,2)) AS RESULTSDATE
    ) as x
WHERE x.RESULTSDATE >= ? AND x.RESULTSDATE <= ?

希望对你也有帮助