批量加载时间戳格式

Bulk Load Timestamp Formatting

我们有一个生成此时间戳的数据库:

YYYY-MM-DD HH24:MI:SS

为了用这个时间戳加载 csvs,有没有办法可靠地做到这一点?我尝试了多种格式化选项,希望它只是添加 .00.00 并满足标准但没有成功。我错过了什么吗?

我期待这样的事情吗?作为复制成语句或文件格式的一部分?

TIMESTAMP_FORMAT = (TYPE='CSV' TIMESTAMP_FORMAT='YYYY-MM-DD HH24:MI:SS America/Los_Angeles')

Table 有问题:

在有问题的table中是这样的:

 CREATE OR REPLACE TABLE UsageValues (
     UsageTypeName VARCHAR(40000)  NULL, 
     UsageTotal NUMBER(38,0)  NULL, 
     etl_uuid VARCHAR(40000)  NULL, 
     etl_deviceServer VARCHAR(40000)  NULL, 
     etl_timestamp TIMESTAMP  NULL
);

目标列已经是时间戳。我改变了它以满足不同的要求仍然得到

'Timestamp '2020-04-09 23:01:07' is not recognized'

这是现在的会话参数

TIMESTAMP_INPUT_FORMAT YYYY-MM-DD HH24:MI:SS AUTO SESSION  

我试图重现这个问题,创建了一个简单的文件来加载。内容如下:

2020-02-20 23,Gokhan
2010-02-03 11,Test

我创建了一个舞台并将文件加载到舞台中:

CREATE STAGE mystage;
put file://test.csv @mystage;

我创建了一个table和运行复制命令:

create table load_test (t1 timestamp, v1 varchar );
copy into LOAD_TEST from @mystage;

因为目标列的类型是timestamp,所以会自动解析插入。结果如下:

select * from LOAD_TEST;
+-------------------------+--------+                                            
| T1                      | V1     |
|-------------------------+--------|
| 2020-02-20 23:00:00.000 | Gokhan |
| 2010-02-03 11:00:00.000 | Test   |
+-------------------------+--------+