问题标签 [legacy-sql]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
3 回答
84 浏览

sql - 大查询 - 加入两个表

我们有两个如下表:

表 A

表 B(静态)

预期表

如您所见,一个用户可以有多个兴趣,多个兴趣可以属于一个细分。这种 JOIN 在 Big Query 中是否可行?

注意:兴趣列将有一个或多个值。仅当所有值都匹配时,才需要连接段。

0 投票
1 回答
76 浏览

sql - 如何将 bigQuery 作业返回的 float64 日期格式化为时间戳/日期?

我想要做的是使用这个查询创建一个工作:

SQL查询:

之后,使用生成的 ID 运行作业并获取结果。

用于创建作业的 JSON:

样本返回记录:

如您所见,日期为 FLOAT64:1.612789722974E9。当我尝试从 bigQuery 控制台将日期格式化为时间戳时,它已经以时间戳的形式出现:2021-02-08 13:08:42.974 UTC。

我试图做的是改用这个查询:

这会给我日期和时间,但不是毫秒。我认为时间也返回毫秒。尝试使用 bigQuery 库中的各种函数,但它们都不适用于 float64。

顺便说一句,我使用 Dell Boomi 作为中间件层来创建作业、检索作业 ID 并运行它。我需要根据从该表中选择的内容自动创建报告,这就是为什么我需要日期时间,包括毫秒。

我认为您可以在用于创建作业的配置中添加一些内容,以便以正常时间戳格式返回日期,但同样,什么也没找到。

即使在 BigQuery 控制台中,它也说它是一个时间戳,那么为什么它存储为 FLOAT64 呢? 在此处输入图像描述

0 投票
1 回答
58 浏览

regex - Google Big Query,将旧版 sql 转换为标准 sql

我正在尝试将LegacySql查询转换为StandardSQL

此查询在旧版 SQL 中运行良好,但在 API 中使用时无法转换为 json 响应。我宁愿将其序列化为 json,也不愿使用一堆数据表和转换值。

如何将其转换为标准 SQL?

我试过了

但我得到错误 \d 是非法字符。

0 投票
2 回答
53 浏览

sql - Google bigquery SQL - 使用下划线作为分隔符分隔文本并放入不同的列

我有

但我想让它们全部分开并放入行中,用下划线分隔。旧版 SQL 的代码是什么(用于 google BigQuery)

谢谢!

0 投票
1 回答
144 浏览

google-bigquery - 如何从 json_extract_array 中删除双引号

我有一组坐标需要采用 Geojson 格式但没有双引号,我也仅限于在此数据集上进行选择。这行代码

给我这个

我需要它变成这样

0 投票
1 回答
185 浏览

sql - BigQuery - 获取由另一个分组的列中空值的百分比

我有一张像

商店代码 国家代码 时间戳
无效的 FR 1234567890
123 FR 1234567890
456 国标 1234567890
789 国标 1234567890

我想得到

pct_null_store_code 国家代码
0.5 FR
0.0 国标

我知道如何用一个WHERE子句来做到这一点,如

但我只想执行 1 个查询并获取每个查询的结果country_code

0 投票
1 回答
27 浏览

sql - 如何将缺少的日期添加为表格中的行

我有以下代码,它可以让我知道每天写了多少行。

这会给我一些如下所示的东西:

摄取时间 Rows_Written
2021 年 1 月 2 日 8
2021 年 1 月 5 日 5
2021 年 1 月 8 日 9
2021 年 1 月 9 日 2

但是,我希望能够添加缺少的日期,以便表格看起来像这样:

摄取时间 Rows_Written
2021 年 1 月 2 日 8
2021 年 1 月 3 日 0
2021 年 1 月 4 日 0
2021 年 1 月 5 日 5
2021 年 1 月 6 日 0
2021 年 1 月 7 日 0
2021 年 1 月 8 日 9
2021 年 1 月 9 日 2

我该怎么做呢?是否需要创建一个包含所有日期的整个表并以某种方式加入它,还是有其他方法?提前致谢。