从文本文件加载时无法读取时间戳

时间:2014-12-04 18:07:24

标签: postgresql copy

我是一个刚刚开始使用PostgreSQL的Oracle用户。我无法从文本文件中读取timestamp

CREATE UNLOGGED TABLE system_parameters
(
start_time      TIMESTAMP WITHOUT TIME ZONE
)
;

COPY 
    system_parameters 
FROM 
    'Parameters.txt' 
;

文件中的数据是 10:00 PM

我已经看到了关于使用SET日期风格的建议,但我还没有得到这个为我工作。我已经看到有关使用AWK重写parameters.txt文件的其他建议,这可能有效,但我猜猜有人可以帮我让PostgreSQL接受当前格式的数据。

1 个答案:

答案 0 :(得分:0)

要接受时间格式列中的时间start_time类型应为time without time zone

查看示例

 create table sample_time 
 ( 
   times  time without time zone
 );

insert into sample_time values('12:25 AM');
insert into sample_time values('12:25 PM');
insert into sample_time values('10:00 PM');
insert into sample_time values('10:20 AM');

此表包含数据select * from sample_time

   times  
   time without time zone
   ---------------------
   00:25:00
   12:25:00
   22:00:00
   10:20:00

如果您想以AM/PM样式获取数据,请使用TO_CHAR

 select TO_CHAR(times, 'hh12:mi AM') from sample_time

所以结果将是

   to_char
   text
   ---------
   12:25 AM
   12:25 PM
   10:00 PM
   10:20 AM

SQLFIDDLE DEMO