Redshift 创建一个带有静态字符串错误的新列
Posted
技术标签:
【中文标题】Redshift 创建一个带有静态字符串错误的新列【英文标题】:Redshift creating a new column with static string error 【发布时间】:2021-05-06 18:05:57 【问题描述】:我的查询是如何实现的,我使用像 SELECT 'ChickenMongoose' as animal
这样的语句来创建一个带有静态单词“ChickenMongoose”的新列但是我从 redshift Value too long for type character varying(7)
收到这个错误我如何使用静态字符串创建一个新列能适应这个长度吗?
更多上下文:
UNION ALL
(SELECT 'ChickenMongoose' as animal ,
SUM(COALESCE(friends.touches, 0)) AS touches
FROM
basic t
INNER JOIN
mock_friends friends ON friends.initiative_id = t.initiative_id
WHERE
'ChickenMongoose' in ('ChickenMongoose', 'potato')
基本上我的查询与联合 ALLS 连接,顶部有一个 select 语句,它不允许我将 ChickenMongoose 分配为动物列下的静态名称
谢谢
【问题讨论】:
Aselect
不应产生该错误。您是否将其存储在表格中?
抱歉让我提供更多上下文
【参考方案1】:
在 Redshift 中,尝试替换最后一行'ChickenMongoose' in ('ChickenMongoose', 'potato')
与animal in ('ChickenMongoose', 'potato')
因为它会将其视为非整数字符常量
【讨论】:
以上是关于Redshift 创建一个带有静态字符串错误的新列的主要内容,如果未能解决你的问题,请参考以下文章
如何将 CSV 导出复制到添加了新列的 Redshift 表中?
在 IMPALA/HIVE 中添加带有 SELECT 的新列后,旧表数据变为 NULL