Redshift-插入目标时截断字符串

0 amazon-redshift

我有两张桌子。表A是操作存储,表B是目标表。

表A DDL:列A Varchar(1000)

表B DDL:B列Varchar(250)

所以我试图这样插入一个被截断的列A:插入表B中(选择left(table a.column a,249)),但是它给出了错误

“错误:字符类型的值太长”

我也尝试过子字符串来尝试截断文本,但无济于事。请注意,A列中也有阿拉伯文字-但是在表A中这不是问题。

任何帮助/建议将不胜感激!

小智 5

要解决多字节字符的问题,可以使用:: VarChar([some length])将字段强制转换为所需的VarChar大小。例如,您将执行以下操作:

插入表B(选择表a。列a :: VarChar(250))