是否可以执行查询以向我提供包含特定表的列标题的输出?我正在通过GBQ将多个文件上传到我们的服务器中,虽然它会自动检测标头,但我想以行或逗号分隔的单元格列出标头。
谢谢
我假设您的文件为CSV格式,所以表的架构中没有重复的字段。考虑到这一点-以下是适用于BigQuery Standard SQL的信息,只需要完全限定的表名
#standardSQL SELECT REGEXP_EXTRACT_ALL(TO_JSON_STRING(t), r'"(.+?)"') cols_as_array, ARRAY_TO_STRING(REGEXP_EXTRACT_ALL(TO_JSON_STRING(t), r'"(.+?)"'), ',') cols_as_string FROM (SELECT 1) LEFT JOIN (SELECT * FROM `project.dataset.table` WHERE FALSE) t ON TRUE
如以下示例所示,是否适用于某些实际表
#standardSQL SELECT REGEXP_EXTRACT_ALL(TO_JSON_STRING(t), r'"(.+?)"') cols_as_array, ARRAY_TO_STRING(REGEXP_EXTRACT_ALL(TO_JSON_STRING(t), r'"(.+?)"'), ',') cols_as_string FROM (SELECT 1) LEFT JOIN (SELECT * FROM `bigquery-public-data.utility_us.us_states_area` WHERE FALSE) t ON TRUE
结果将是
Row cols_as_array cols_as_string 1 region_code region_code,division_code,state_fips_code,state_gnis_code,state_geo_id,state_abbreviation,state_name,legal_area_code,feature_class_code,functional_status_code,area_land_meters,area_water_meters,internal_point_lat,internal_point_lon,state_geom division_code state_fips_code state_gnis_code state_geo_id state_abbreviation state_name legal_area_code feature_class_code functional_status_code area_land_meters area_water_meters internal_point_lat internal_point_lon state_geom
您可以选择要使用的版本:以数组形式列出或以逗号分隔的字符串形式列出
另请注意,以上查询完全不会产生任何费用!