如何在大查询表的所有列中搜索关键字?

时间:2018-01-24 03:29:58

标签: google-bigquery keyword

我使用大查询查看我的Google云中的数据。我想在特定表的所有列中搜索关键字。

前:我正在寻找迪拜。我需要在任何专栏中出现迪拜词的条目结果。

1 个答案:

答案 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)