我使用Avatica方解石作为JDBC驱动程序来查询Druid DB。我找到了' IN'语法不能超过19个元素。 e.g
SELECT * FROM ds1 WHERE city_id IN
(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19)
这可行,但这一个错误:
SELECT * FROM ds1 WHERE city_id IN
(1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20)
我如何使用' IN'语法超过19个元素?
答案 0 :(得分:1)
https://github.com/druid-io/druid/issues/4203中描述了这不起作用的原因。在Calcite 1.14发布后,它应该在Druid SQL中修复,这将让我们更多地定制它的行为。
在此之前,请尝试@melpomene建议的解决方法,该方法应该有效:
SELECT * FROM ds1 WHERE
city_id IN (1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19)
OR city_id IN (20,21,22)