首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >用BigQuery查询UUID

问用BigQuery查询UUID
EN

Stack Overflow用户
提问于 2021-05-25 07:43:38
回答 1查看 243关注 0票数 0

我需要在CloudSQL (PostgreSQL)上进行查询。其中一列- id -具有UUID值。BigQuery不接受这种类型的数据,因此报告此错误:

代码语言:javascript
复制
Invalid table-valued function EXTERNAL_QUERY PostgreSQL type UUID in column id is not supported in BigQuery. You can cast it to a supported type by PostgreSQL CAST () function. at [1:15]

但是,我不能将UUID类型转换为字符串(例如)来完成错误给出的建议,即使用CAST。

这是我正在尝试的方法:

代码语言:javascript
复制
SELECT CAST (id as STRING) FROM EXTERNAL_QUERY (" projects / xxx-sandbox / locations / us / connections / CloudSQL "," SELECT * FROM transactions; "); 

但它不起作用,因为据我所知,UUID是一个二进制数。

对此查询进行此转换的最佳方式是什么?

EN

回答 1

Stack Overflow用户

发布于 2021-11-15 21:03:52

下面是一个页面,它显示了哪种类型可以转换成哪种类型:https://cloud.google.com/bigquery/docs/reference/standard-sql/federated_query_functions#postgressql_mapping

对于UUID,我认为您必须在获取数据的查询(postgres)中进行强制转换。作为一个例子,我尝试了下面的方法,它起作用了:

代码语言:javascript
复制
SELECT * FROM EXTERNAL_QUERY("projects/xxxxxxx/locations/us-central1/connections/xxxxxx", "SELECT CAST(myuuid AS TEXT) FROM mytable;");
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/67680074

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档