Postgresql 表创建的日期/时间格式
我正在创建一个表,该表将填充Postgresql 表创建的日期/时间格式,postgresql,date,datetime,database-design,postgresql-copy,Postgresql,Date,Datetime,Database Design,Postgresql Copy,我正在创建一个表,该表将填充副本。以下是该数据的格式: 6/30/2014 2:33:00 PM MM-DD-YYYY HH:MM:SS ?? 我将使用什么作为CREATE TABLE语句的格式 CREATE TABLE practice ( Data_Time ???? ) 另一种方法是读取为varchar(),然后稍后格式化。看起来很复杂。在postgres中几乎不应该使用vharchar()。始终使用文本。但我觉得你想要两列 create table practice (date_t
副本
。以下是该数据的格式:
6/30/2014 2:33:00 PM
MM-DD-YYYY HH:MM:SS ??
我将使用什么作为CREATE TABLE
语句的格式
CREATE TABLE practice (
Data_Time ????
)
另一种方法是读取为
varchar()
,然后稍后格式化。看起来很复杂。在postgres中几乎不应该使用vharchar()。始终使用文本。但我觉得你想要两列
create table practice (date_time timestamp, format text)
始终将时间戳存储为。
千万不要使用字符串类型(
text
,varchar
,…)来实现这一点
CREATE TABLE practice (
practice_id serial PRIMARY KEY
, data_time timestamp NOT NULL
);
如果您的时间戳文字是干净的,并且遵循标准的MDY
格式,您可以将事务的临时设置为直接读取正确的timestamp
类型:
BEGIN;
SET LOCAL datestyle = 'SQL, MDY'; -- works for your example
COPY practice (data_time) FROM '/path/to/file.csv';
COMMIT;
否则,您的想法也没那么糟糕:将
复制到带有文本
列的临时表中,清理数据并插入时间戳(可能使用)。例如: