如何将一微秒转换为postgres中的时间间隔字段?

时间:2018-08-23 19:11:55

标签: postgresql

关于how to extract microseconds from an interval field

的问题

我想做相反的事情,我想从数字微秒创建一个间隔。我该怎么办?

原因是我要使用这种格式的表格

requestMessage

并将其导入到这样的表中

result

目前我正在尝试:

 column_name |        data_type         
-------------+--------------------------
 id          | bigint
 date        | date
 duration    | numeric

这给了我

 column_name |        data_type         
-------------+--------------------------
 id          | integer
 date        | date
 duration    | interval

2 个答案:

答案 0 :(得分:3)

您可以这样做:

ConverterProperties properties = new ConverterProperties();

properties.setTagWorkerFactory(new DefaultTagWorkerFactory() {
    @Override
    public ITagWorker getCustomTagWorker(IElementNode tag, ProcessorContext context) {
        if (TagConstants.H1.equals(tag.name())) {
            return new CustomH1TagWorker(tag, context);
        }
        return super.getCustomTagWorker(tag, context);
    }
});

HtmlConverter.convertToPdf(inputStream, pdfDocument, properties);

这是在Postgres中将任何日期部分转换为间隔的方式。 Postgres支持微秒以及更常见的单位。

答案 1 :(得分:0)

您可以追加单位,然后转换为间隔

示例:

select (123.1234 || ' seconds')::interval

outputs:
00:02:12.1234

有效单位如下(及其复数形式):

microsecond
millisecond
second
minute
hour
day
week
month
quarter
year
decade
century
millennium