我使用大查询查看我的Google云中的数据。我想在特定表的所有列中搜索关键字。
前:我正在寻找迪拜。我需要在任何专栏中出现迪拜词的条目结果。
答案 0 :(得分:3)
下面是BigQuery Standard SQL,并假设列名不包含搜索词(可以调整以解决此问题)
#standardSQL
SELECT *
FROM `yourproject.yourdataset.yourtable` t
WHERE REGEXP_CONTAINS(LOWER(TO_JSON_STRING(t)), r'dubai')
您可以使用以下虚拟数据进行上述测试/播放
#standardSQL
WITH `yourproject.yourdataset.yourtable` AS (
SELECT 1 id, 'Los Angeles' col1, 'New York' col2 UNION ALL
SELECT 2, 'Dubai', 'San Francisco' UNION ALL
SELECT 3, 'atlanta', 'dubai' UNION ALL
SELECT 4, 'I love Dubai', 'Me too'
)
SELECT *
FROM `yourproject.yourdataset.yourtable` t
WHERE REGEXP_CONTAINS(LOWER(TO_JSON_STRING(t)), r'dubai')
希望以上可以成为您申请特定案件的良好起点
但是请注意:成本是整个表的扫描 - 因此在针对读取(希望大)数据运行之前检查成本:o)