2014-12-04 81 views
0

我是刚开始使用PostgreSQL的Oracle用户。我无法从文本文件中读取timestamp从文本文件加载时读取时间戳时遇到问题

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

COPY 
    system_parameters 
FROM 
    'Parameters.txt' 
; 

文件中的数据是 10:00 PM

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

回答

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

相关问题