【发布时间】:2019-07-09 13:10:48
【问题描述】:
我正在使用 SSRS 2017 使用 ODBC 连接查询 SAP hana 数据库。
我将日期列 BUDAT 返回为 20190101。我正在尝试将其转换为日期,但在 Sataset 屏幕中不允许我使用 CONVERT 或 FORMAT 命令:
尝试 #1:
CONVERT(DATE, RIGHT(SAPABAP1.AFRU.BUDAT, 2) + SUBSTR(SAPABAP1.AFRU.BUDAT, 3, 2) + LEFT (SAPABAP1.AFRU.BUDAT, 4))
我收到一个错误
表达式无效或缺失
当我“输入”我输入的代码时。
尝试 #2
format(SAPABAP1.AFRU.BUDAT, "dd/MM/yyyy")
SQL Server 接受语法,但是当查询尝试运行时,我得到错误
一般错误;260 列名无效;dd/MM/yyy:line1 col 1029 (as pos 1028)
过去几天我一直在尝试此代码的主题,但无济于事
我希望看到输出为dd/MM/yyyy。
【问题讨论】:
-
您使用的是 SAP Hana - 而不是 sql server。您需要为 SAP 使用适当的 sql 特性、函数和语法。如果您正在检索日期列,为什么要尝试在实际查询中转换它?一个更好的地方是你展示它的地方。
-
早上好,谢谢您提供的信息,所以实际上当我查询 SAP 并将数据拉过来并显示在屏幕上时,SQL 将此字段的类型转换为 NVARCHAR,我假设我是在 SQL 中,我会使用 SQL 代码将字段中的数据类型转换为我想要的类型?您对 sql/sap 代码将此字段转换为日期有任何想法吗(请注意,它就像 Power BI 中的一种享受,只需单击行标题并将其设置为日期,然后就完成了)。
-
用单引号(撇号)替换格式语句中的双引号。
-
嗨,Arvo,我试过了,但还是不行。
标签: sql-server date hana ssrs-2017