PostgreSQL:如何避免 COPY 命令输出中不需要的字符?
PostgreSQL: How do I avoid unwanted characters in COPY command output?
我的 PostgreSQL 9.5 数据库中有一个数组(文本)(示例行),如下所示:
my_array(text)
1,112,292,19.7
我正在使用 Postgres COPY
命令将此文本数组导出到自定义文本文件,如下所示:
Copy
(
Select
my_array
from
my_table
Order by my_table_id
) to '~my_path/output.str' With DELIMITER ',';
我得到输出:
1\,112\,292\,19.7\
如何避免在我的复制命令输出中出现这些不需要的 \
?
- 如果字符串中存在定界符(
,
),它将被转义(通常在其前面加上 \
)
如果您使用不同的分隔符(来自 ,
),则不必转义 ,
分隔符。
如果在输出中引用字符串,则不必转义 ,
分隔符。
-- CREATE TABLE my_table(my_table_id SERIAL PRIMARY KEY, my_array text);
-- INSERT INTO my_table(my_array )VALUES ('1,112,292,19.7') ;
COPY ( SELECT my_array FROM my_table ORDER BY my_table_id)
TO '/tmp/output.str'
WITH CSV DELIMITER ',' QUOTE '"'
;
我的 PostgreSQL 9.5 数据库中有一个数组(文本)(示例行),如下所示:
my_array(text)
1,112,292,19.7
我正在使用 Postgres COPY
命令将此文本数组导出到自定义文本文件,如下所示:
Copy
(
Select
my_array
from
my_table
Order by my_table_id
) to '~my_path/output.str' With DELIMITER ',';
我得到输出:
1\,112\,292\,19.7\
如何避免在我的复制命令输出中出现这些不需要的 \
?
- 如果字符串中存在定界符(
,
),它将被转义(通常在其前面加上\
) 如果您使用不同的分隔符(来自
,
),则不必转义,
分隔符。如果在输出中引用字符串,则不必转义
,
分隔符。
-- CREATE TABLE my_table(my_table_id SERIAL PRIMARY KEY, my_array text);
-- INSERT INTO my_table(my_array )VALUES ('1,112,292,19.7') ;
COPY ( SELECT my_array FROM my_table ORDER BY my_table_id)
TO '/tmp/output.str'
WITH CSV DELIMITER ',' QUOTE '"'
;