使用HANA日期格式时出现问题。

2020-08-16 12:08发布

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在根据要求在HANA DB中构建自定义函数,以将输入日期字符串转换为'YYYYMMDD'格式

格式为" MM/DD/YYYY HH:MI:SS AM"。 但是我编写的函数未按预期返回输出。

例如,如果输入为'20200623',则输出日期格式应为:06/23/2020 12:00:00 AM。 为了获得这种格式,我尝试了以下功能。

创建函数" ERPDEV"。FN_CONVERTSAPDATE(v_in VARCHAR(8))返回v_out日期语言SQLSCRIPT作为SQLEXCEPTION BEGIN的开始声明退出处理程序v_out:= NULL; 结束; v_out:= TO_VARCHAR(TO_DATE(:v_in,'YYYYMMDD'),'MM/DD/YYYY HH:MI:SS AM'); END;

但是它没有返回预期的输出。 相反,它返回一个? 作为输出。 请帮助我。

(83.4 kB)

         点击此处--->   EasySAP.com群内免费提供SAP练习系统(在群公告中)

加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)


大家好,

我正在根据要求在HANA DB中构建自定义函数,以将输入日期字符串转换为'YYYYMMDD'格式

格式为" MM/DD/YYYY HH:MI:SS AM"。 但是我编写的函数未按预期返回输出。

例如,如果输入为'20200623',则输出日期格式应为:06/23/2020 12:00:00 AM。 为了获得这种格式,我尝试了以下功能。

创建函数" ERPDEV"。FN_CONVERTSAPDATE(v_in VARCHAR(8))返回v_out日期语言SQLSCRIPT作为SQLEXCEPTION BEGIN的开始声明退出处理程序v_out:= NULL; 结束; v_out:= TO_VARCHAR(TO_DATE(:v_in,'YYYYMMDD'),'MM/DD/YYYY HH:MI:SS AM'); END;

但是它没有返回预期的输出。 相反,它返回一个? 作为输出。 请帮助我。

(83.4 kB)
付费偷看设置
发送
3条回答
大简至美
1楼-- · 2020-08-16 12:53

你好

正如我在之前对日期/字符串格式问题的答复中所提到的,您正在混合数据类型并使用隐式转换。

如果您需要一个日期来 以特定格式显示,则您可能应该使用字符串数据类型,如下所示。

您需要的结果...

迈克尔

土豆飞人
2楼-- · 2020-08-16 12:56

迈克尔在这里很好地解决了问题和正确的方法。

我的印象是 对于日期数据类型实际上没有显示格式的事实,仍然可能会感到困惑。

在HANA Studio或任何其他UI工具中看到的始终是一种翻译,以适合当前的语言环境设置。

有关我的旧博客文章 https://lbreddemann.org/trouble- 随时间/

nice_wp
3楼-- · 2020-08-16 12:51

Sai Tejasvi 是错的-"但是在我们的目标表中, ERDAT列是日期数据类型。 因此,我们需要" MM/DD/YYYY"格式的输出。"

要将日期插入日期列,请使用日期!您要做的是使用隐式字符串进行日期转换。/p>

这是一个带有DATE列和一个返回日期的函数的表。

如果我们多带带运行该函数,它将返回一个日期,但是结果将使用IMPLICIT日期显示为字符串

如果需要,我们可以使用EXPLICIT字符串转换来格式化结果日期。

但是,我们不需要以任何方式将结果格式化为日期,也不需要将其用作日期

结果,请注意,我使用EXPLICIT转换来显示它。

日期应视为日期,而不是日期的字符串表示形式。

一周热门 更多>