确定Redshift中的字段字节

时间:2014-07-31 20:28:58

标签: sql sql-server amazon-redshift

我正在将表从SQL Server移动到Redshift。我已导出数据并将其转换为UTF-8文本文件。尝试加载到Redshift时,COPY命令失败,抱怨数据超出了字段的宽度。

目标Redshift表架构与源SQL Server表的架构匹配(即varchar字段宽度相同)。如果我理解正确,Redshift的varchar大小以字节为单位,而不是像SQL Server那样的字符。因此,多字节字符导致"太宽"问题

我想运行一个查询来确定我的varchar字段的大小,但似乎并不是一个函数可以返回字符串所需的字节数,只有字符数在那个字符串中。

其他人如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

字段长度和结果字段类型在Redshift中可能至关重要。将样本数据加载到具有最大字段大小的RedShift表中。样本必须尽可能大。您可以在不考虑MSSQL Server中的定义的情况下计算实际字段大小,这可能比您真正需要的大得多。