0
Bigqueryで、WHERE項目IN( '%xxxxxxxxxx'、 '%xxxxxxxxxx')を選択しようとしています。しかし、私がそれを引っ張っても結果は返ってこない。しかし、ワイルドカード%を取り除くと結果が返されます。ここで誤ったワイルドカード演算子を使用していますか?ワイルドカード%演算子がbigqueryで動作していません
ありがとうございます!
アレックス
Bigqueryで、WHERE項目IN( '%xxxxxxxxxx'、 '%xxxxxxxxxx')を選択しようとしています。しかし、私がそれを引っ張っても結果は返ってこない。しかし、ワイルドカード%を取り除くと結果が返されます。ここで誤ったワイルドカード演算子を使用していますか?ワイルドカード%演算子がbigqueryで動作していません
ありがとうございます!
アレックス
あなたが代わりにLIKE
演算子を使用する必要があります。例えば、
#standardSQL
SELECT *
FROM YourTable
WHERE EXISTS (
SELECT 1
FROM UNNEST(['%pattern1', '%pattern2']) AS pattern
WHERE item LIKE pattern
);
以下
はあなたが
#standardSQL
WITH data AS (
SELECT *
FROM UNNEST(['a_item', 'b_item', 'a_piece', 'b_piece', 'a_part', 'b_part']) AS item
)
SELECT *
FROM data
WHERE REGEXP_CONTAINS(item, r'item$|part$')
よりおよそREGEXP_CONTAINS
感謝を参照してください以下のようにダミーデータでそれで遊ぶことができますBigQueryの標準SQL
ためです発送用!あなたはレガシーSQLでこれをどうやってやるだろうか?私の質問はすべて遺産です。 – Alex
クエリにレガシーSQLを使用する理由はありますか? BigQueryチームは可能な限り標準SQLを使用することをお勧めします。アクティブな開発ではこれが唯一の実装であるためです。代わりに標準SQLを使用するようにクエリの一部を変更する場合は、[移行ガイド](https://cloud.google.com/bigquery/docs/reference/standard-sql/migrating-from-legacy)を参照してください。 -sql)。 –