在Bigquery上,我试图选择WHERE项IN('%xxxxxxxxxx','%xxxxxxxxxx')。但是当我拉它时它不会返回任何结果。但是,如果我摆脱了通配符%,它确实会返回结果。我在这里使用了错误的通配符运算符吗?
谢谢!
亚历
答案 0 :(得分:1)
您需要使用LIKE
运算符。例如,
#standardSQL
SELECT *
FROM YourTable
WHERE EXISTS (
SELECT 1
FROM UNNEST(['%pattern1', '%pattern2']) AS pattern
WHERE item LIKE pattern
);
答案 1 :(得分:1)
以下是BigQuery Standard SQL
#standardSQL
SELECT *
FROM YourTable
WHERE REGEXP_CONTAINS(item, r'xxxxxxxxxx$|yyyyyyyy$')
您可以使用虚拟数据进行播放,如下所示
#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