如何检查列(数组类型)是否包含SQL中的值(不含任何)?

问题描述:

我有一个SQL表table其中一列arr是一个整数数组。如何将表格筛选到arr下的数组包含整数值的行? (例如,如果我搜索1,那么应该包含数组[1,2,3]和[1,4],但[3,4]不应该)。如何检查列(数组类型)是否包含SQL中的值(不含任何)?

我在Databricks上使用Spark并且无法访问ANY或MEMBER OF函数。

IIUC您可以使用array_contains方法:

sqlContext.sql("select * from table where array_contains(arr, 1)") 
+0

哇,这是完美的。出于某种原因,我找不到其他地方。谢谢。 – user3661646

+0

@ user3661646考虑接受答案,因为它可以帮助您解决问题,请参阅[这里](https://*.com/help/someone-answers)。 – Shaido