ClickHouse执行SELECT语句触发NO_COMMON_TYPE异常的修复求助
修复ClickHouse查询的类型不匹配错误
错误原因
你的viewIds数组元素类型为Int256,但查询时在has函数中传入了字符串类型的'341852351',ClickHouse无法在Int256与String类型间自动转换,因此抛出类型不兼容的错误。
修复后的查询语句
有两种可行的修复方式:
- 将字符串参数转换为Int256类型:
SELECT * FROM array join viewIds WHERE has(viewIds, toInt256('341852351'))
- 直接使用数字字面量(341852351在Int256的取值范围内):
SELECT * FROM array join viewIds WHERE has(viewIds, 341852351)
额外说明
如果你的需求是获取原表中所有viewIds数组包含指定值的完整行(而非展开数组后的单行数据),可以去掉array join,直接使用has函数过滤:
SELECT * FROM your_table_name WHERE has(viewIds, 341852351)
内容的提问来源于stack exchange,提问作者White Cat
相关产品推荐
相关产品推荐

