使用quote自定义引用字符

最近更新时间: 2025-02-18 16:02:00

  • 复制
    复制成功
postgres=# copy t to  '/data/pgxz/t.txt' with csv;          
COPY 3
postgres=#  \! cat /data/pgxz/t.txt
1,TDSQL PG,,7
2,"pg'"",      xc%",2017-10-28 18:24:05.643102,3
3,pgxz,2017-10-28 18:24:05.645691,
#默认引用字符为“双引号”
postgres=# copy t to  '/data/pgxz/t.txt' with quote '%' csv;
COPY 3
postgres=# \! cat /data/pgxz/t.txt
1,TDSQL PG,,7
2,%pg'",      xc%%%,2017-10-28 18:24:05.643102,3
3,pgxz,2017-10-28 18:24:05.645691,
#上面指定了引用字符为百分号,系统自动把字段值为%的字符替换为双个%
postgres=# copy t to  '/data/pgxz/t.txt' with quote '%';
ERROR:  COPY quote available only in CSV mode
#只有使用 CSV格式时才允许这个选项。
postgres=# copy t to  '/data/pgxz/t.txt' with quote '%%' csv;
ERROR:  COPY quote must be a single one-byte character
postgres=# 
#引用字符必须是一个单一的单字节字符,即汉字是不支持的。