相关疑难解决方法(0)

Postgresql COPY空字符串为NULL无效

我有一个带有一些整数列的CSV文件,现在它保存为""(空字符串).

我想将它们复制到一个表为NULL值.

使用JAVA代码,我尝试了这些:

String sql = "COPY " + tableName + " FROM STDIN (FORMAT csv,DELIMITER ',',  HEADER true)";
String sql = "COPY " + tableName + " FROM STDIN (FORMAT csv,DELIMITER ',', NULL ''  HEADER true)";
Run Code Online (Sandbox Code Playgroud)

我得到:PSQLException:错误:类型为numeric的输入语法无效:""

String sql = "COPY " + tableName + " FROM STDIN (FORMAT csv,DELIMITER ',', NULL '\"\"'  HEADER true)";
Run Code Online (Sandbox Code Playgroud)

我得到:PSQLException:错误:CSV引号字符不得出现在NULL规范中

以前有人这样做过吗?

string postgresql null copy psql

2
推荐指数
2
解决办法
6546
查看次数

使用 COPY 导入超过 1,000 的格式化数字时出现问题

我有一个 Postgres 数据库,并且一直在尝试使用以下代码将 CSV 文件导入到表中。我不断收到错误

ERROR:  invalid input syntax for type numeric: " 1,183.26 "
Run Code Online (Sandbox Code Playgroud)

我认为问题是值中有一个,,但是当我进入 CSV 并尝试编辑该值时,它似乎,是由 Excel 自动添加的。

COPY invtest5
FROM 'C:\Users\Hank\Downloads\SampleData\SampleDataCSV.csv' 
DELIMITER ',' 
CSV HEADER;
Run Code Online (Sandbox Code Playgroud)

表定义:

CREATE TABLE invtest5 (
    OrderDate date,
    Region varchar(255),
    Rep varchar(255),
    Item varchar(255),
    Units int,
    Unit_Cost numeric(15,3),
    Total numeric(15,3)
);
Run Code Online (Sandbox Code Playgroud)

我正在寻找一种导入数据的方法,无论该数字是否包含数字,

csv postgresql bulkinsert sqldatatypes postgresql-copy

2
推荐指数
1
解决办法
50
查看次数

如何将不同模式的通用数据插入到临时表中?

我不知道如何解决这个问题:

我们从各种在线供应商(亚马逊、新蛋等)导入订单信息。每个供应商都有自己特定的订单术语和结构,我们已将其镜像到数据库中。我们的数据导入到数据库中没有任何问题,但是我面临的问题是编写一个从数据库中提取所需字段的方法,无论模式如何。

例如假设我们有以下结构:

新蛋结构:

"OrderNumber" integer NOT NULL, -- The Order Number
"InvoiceNumber" integer, -- The invoice number
"OrderDate" timestamp without time zone, -- Create date.
Run Code Online (Sandbox Code Playgroud)

亚马逊结构:

"amazonOrderId" character varying(25) NOT NULL, -- Amazon's unique, displayable identifier for an order.
"merchant-order-id" integer DEFAULT 0, -- A unique identifier optionally supplied for the order by the Merchant.
"purchase-date" timestamp with time zone, -- The date the order was placed.
Run Code Online (Sandbox Code Playgroud)

如何选择这些项目并将它们放入临时表中以供查询?

临时表可能如下所示:

"OrderNumber" character varying(25) NOT NULL,
"TransactionId" integer,
"PurchaseDate" timestamp with …
Run Code Online (Sandbox Code Playgroud)

java postgresql

1
推荐指数
1
解决办法
1858
查看次数

如何使用匹配值使用 CSV 文件中的数据更新 Postgres 中的列

我在 Postgresql 数据库中有一个表,其中包含列nameemail,该name列已填充​​,但该email列为空。我还有一个 CSV 文件,其中包含列useruser_email已填充。如何email使用 CSV 文件更新列以匹配 和user以及name更新正确emailuser_email

我一直在寻找答案或浏览一些教程,但我不太确定如何表达问题,所以我无法找到任何答案。

这就是我的 Postgres 表现在的样子:

| name     | email    |
| joh      |          |
| alex     |          |
| adams    |          |
Run Code Online (Sandbox Code Playgroud)

这是我的 CSV 文件:

| user     | user_eamil|
| joh      | a@g.com  |
| alex     | a@g.com  |
| adams    | a@g.com  |
Run Code Online (Sandbox Code Playgroud)

sql postgresql sql-update

1
推荐指数
1
解决办法
4581
查看次数