Sap 如何使用YYYY获取0001而不是2001

Sap 如何使用YYYY获取0001而不是2001,sap,business-objects,data-integration,dataservice,Sap,Business Objects,Data Integration,Dataservice,我有一个带有不同时间戳的列,如: 5771.10.04 16:07:23.800913000 0967.06.17 06:20:28.800906000 3857.06.18 03:49:03.800906000 01.04.29 16:45:04.400909000 我需要将它们转换为小数(我使用小数来连接大约一百万行),如下所示: 57711004160723800913 9670617062028800906 38570618034903800906 10429164504400909 我

我有一个带有不同时间戳的列,如:

5771.10.04 16:07:23.800913000

0967.06.17 06:20:28.800906000

3857.06.18 03:49:03.800906000

01.04.29 16:45:04.400909000

我需要将它们转换为小数(我使用小数来连接大约一百万行),如下所示:

57711004160723800913

9670617062028800906

38570618034903800906

10429164504400909

我使用这个函数来实现这一点:

cast(substr(to_char($timestamp,'yyyyymmddhh24missf'),1,20),'decimal(20,0)'

问题是最后一个时间戳,它只有两个数字表示发生YYYY转换的年份。我需要将01转换为0001,而不是转换为2001

有没有办法快速/非密集地解决这个问题


Tl;dr我需要在BODS中将01年转换为0001年,而不是2001年。

在年份前面加两个零?如何?此外,我使用的一些时间戳以4位数的年份开始,一些时间戳以2位数的年份开始。我想在这个字段上创建一个连接,所以过多地修改它会花费很多时间。我对BOD不太了解,但根据,rrrr不是有效的日期格式说明符。