点击此处---> 群内免费提供SAP练习系统(在群公告中)
加入QQ群:457200227(SAP S4 HANA技术交流) 群内免费提供SAP练习系统(在群公告中)
大家好,
在我的资料中,我有2种日期类型为varchar(30)的不同日期格式
1.DD/MM/YYYY
2.MM/DD/YYYY HH:MM:SS AM >
我的目标应采用 2.MM/DD/YYYY 的形式。 HH:MM:SS AM作为日期时间
现在,如何只选择1.DD/MM/YYYY格式并将其更改为 2.MM/DD/YYYY HH:MM:SS AM格式。
我尝试过to_char,to_date。 但是,我为此 2.MM/DD/YYYY HH:MM获取空值 :SS格式。
有人可以帮我吗?
感谢您的快速帮助。
谢谢
苏里亚
您同时标记了HANA和IQ,但未指定需要使用哪个引擎。 答案会有所不同。 您可以指定这是IQ还是HANA?
Hi Mark,
这是智商。
感谢您的回复。
太棒了! 这有助于缩小选择范围。 不过,当您引用TO_CHAR和TO_DATE函数时,我很担心。 不幸的是,IQ中没有这些选项。
您提到"源",IQ通常意味着文件要加载数据 入。 如果不是这种情况,请告诉我,但这会解决该问题,假设您想将文件加载到具有不同格式的IQ中。 您有一个使用DMY的对象,另一个是使用MDY的对象。 使用LOAD TABLE加载数据时,我们可以指定日期顺序(Date_Order设置选项)以控制MDY,DMY,YMD等的正确日期顺序。
如果两种格式都在同一个源文件中 ,这带来了一个问题,因为我们必须知道该文件中每行的正确顺序。
重置差异不是问题。 IQ加载程序可以处理AM/PM扩展。 IQ处理仅具有日期(MDY)的数据以及具有完整时间戳的数据。 所有这些都完美地工作。 只是日期顺序是问题所在。
例如,我创建了这个示例CSV文件来说明灵活性。 它只有一个日期以及两个带AM和PM的日期时间。
一个问题……当您查看该数据时,仅是数据,您能告诉我这些日期是1903年1月1日还是1903年2月1日吗? 纯粹从数据来看,您无法确定排序,这是问题的核心。 我们依靠Date_Order选项来告诉我们正确的格式,然后将该文件中的所有行都视为相同的格式。
要解决此问题,您必须在数据进入数据之前对其进行预处理。 最终的IQ表。
最后,您需要进行一些预处理,才能将数据最终存储在最终的IQ表中。 从许多年的经验中,我可以说更改数据的提取方式将是最简单的。 确保源系统以相同的方式和相同的日期顺序提取所有日期和日期时间字段。 混合MDY字段的顺序非常有问题。
如果您不能这样做,则至少将这些字段分成两个文件。 使用" DD/MM/YYYY"数据保存一个文件,使用" MM/DD/YYYY HH:MM:SS AM"数据保存一个文件。 如果这样做,则可以有2个装入语句,每个装入语句都设置了自己的Date_Order选项,这样数据就可以正确输入并且不需要进行任何其他处理。
如果要做的只是 从IQ表中选择数据并更改格式,则可能会有所帮助。
标记
一周热门 更多>