我正在尝试将CreateDate
和CreateTS
列连接起来,以创建一个包含日期和时间的时间戳。
目前我想到的唯一解决方案是:
SELECT
TO_TIMESTAMP(
to_char(COALESCE("UpdateDate","CreateDate",'1970-01-01'), 'yyyy-mm-dd') || ' '||
SUBSTRING (lpad(COALESCE("UpdateTS","CreateTS",0),6,'0'),0,2) || ':'||
SUBSTRING (lpad(COALESCE("UpdateTS","CreateTS",0),6,'0'),3,2)|| ':'||
SUBSTRING (lpad(COALESCE("UpdateTS","CreateTS",0),6,'0'),5,2), 'YYYY-MM-DD HH24:MI:SS'
) AS update_create
FROM OCRD
我发现如果使用
UpdateTime
列,这段代码无法正常工作。
最大的问题在于日期和时间是不同的列,并且保存的时间格式也不同:
- 8:它表示的是 00:08:00 而不是 00:00:08
- 223:它表示的是 22:30:00 而不是 00:02:23
- 16321:它表示的是 01:63:21
谢谢。