web-dev-qa-db-ja.com

Presto配列には、パターンが好きな要素が含まれています

たとえば、テーブルの1つの列が配列で、その列に「denied at 12:00 pm」、「denied by admin」などの要素がすべてカウントされるように、サブストリング「denied」を含む要素が含まれているかどうかを確認したいとします。パターンを識別するには「いいね」を使用する必要があると思います)。このためのSQLの書き方は?

4
daydayup

Prestoの 配列関数 を使用:

  • filter():指定された条件を満たす要素を返します
  • cardinality()、配列のサイズを返します:

このような:

where cardinality(filter(myArray, x -> x like '%denied%')) > 0
7
Bohemian

配列演算子を参照 こちらのドキュメント

contains(array_column,'denied')

0
twoy