2017-10-18 2 views
2

Ich habe eine SQL-Tabelle auf table, in der eine der Spalten, arr, ein Array von ganzen Zahlen ist. Wie filtere ich die Tabelle in Zeilen, in denen die Arrays unter arr einen ganzzahligen Wert enthalten? (Wenn ich beispielsweise nach 1 suche, sollten die Arrays [1,2,3] und [1,4] enthalten sein, aber [3,4] sollte nicht).Wie überprüft man, ob eine Spalte (vom Typ Array) einen Wert in SQL (ohne ANY) enthält?

Ich benutze Spark auf Databricks und habe keinen Zugriff auf die Funktionen ANY oder MEMBER OF.

Antwort

1

IIUC können Sie array_contains Methode verwenden:

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

Wow, das ist perfekt. Aus irgendeinem Grund konnte ich das nirgendwo anders finden. Vielen Dank. – user3661646

+0

10 @ user3661646 Sie können die Antwort akzeptieren, da sie Ihnen bei der Lösung des Problems geholfen hat. Weitere Informationen finden Sie unter [hier] (https://stackoverflow.com/help/someone-answers). – Shaido

Verwandte Themen