【发布时间】:2016-05-31 23:17:35
【问题描述】:
我正在尝试使用 COPY 命令对包含 guillemet (») 的某些数据运行 CSV 导入。 Redshift 抱怨我定义的varchar 列的列值太长。 Redshift GUI 中“加载”选项卡中的错误将这个字符显示为两个点:.. - 如果将其视为一个,它会适合 varchar 列。目前尚不清楚是否发生某种转换错误或是否存在显示问题。
当我尝试做简单的INSERTs 时,我也遇到了奇怪的行为:
dev=# create table test (name varchar(3));
CREATE TABLE
dev=# insert into test values ('bla');
INSERT 0 1
3 个字符被视为 4 个?
dev=# insert into test values ('bl»');
ERROR: value too long for type character varying(3)
dev=# insert into test values ('b»');
INSERT 0 1
为什么char_length 返回 2?
dev=# select char_length(name), name from test;
char_length | name
-------------+------
2 | b»
我检查了客户端编码和数据库编码,这些似乎都是 UTF8/UNICODE。
【问题讨论】:
标签: amazon-redshift