我有一个包含不同时间戳的列,例如:
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,'YYYYMMDDHH24MISSFF'),1,20),'decimal(20,0)');
问题是最后一个时间戳,该年份只有两位数,其中YYYY转换发生。我需要将01转换为0001,而不是将其转换为2001。
我是如何以快速/非密集的方式解决这个问题的?
Tl; dr 我需要在01年将01年转换为0001而不是2001年。