问题标签 [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 投票
1 回答
302 浏览

sql - 以小时为单位的连接时间:Bigquery 的分钟

在大查询中将时间连接在一起,但它不允许我使用它。

康卡特

错误:对于参数类型:INT64、STRING 的运算符 + 没有匹配的签名。支持的签名:INT64 + INT64;浮点64 + 浮点64;NUMERIC + NUMERIC 在 [5:10]

如何在 bigquery 中连接时间

0 投票
2 回答
440 浏览

sql - 输入计算到无效时间:大查询中的 24:00:00

我正在运行查询以 24 小时格式显示时间,但是当我运行查询并计算超过 23:59:59 的时间时,而不是过去并将时间更改为 00:00:00,它给了我错误说输入计算无效时间:24:00:00。

错误输入计算到无效时间:24:00:00

试图从 23:00:00 到 00:00:00 或以后计算它

0 投票
0 回答
3749 浏览

sql - UPDATE/MERGE 必须与每个目标行至多匹配一个源行 Bigquery

尝试在 bigquery 中更新表,但收到一条错误消息说明

“UPDATE/MERGE 必须与每个目标行最多匹配一个源行”

然后我尝试了这个查询

收到此错误错误:标量子查询产生了多个元素

测试文件的样本数据 在此处输入图像描述

Classcategories 的样本数据 在此处输入图像描述

尝试更新类类别字段 ovementtype 和 intenstitype

0 投票
1 回答
42 浏览

google-api - 在 BigQuery 中使用 dryRun 区分标准和旧版 SQL 查询的替代方法?

什么

有谁知道使用 BigQuery API 识别/区分以旧版或标准 SQL 编写的视图或查询的更好方法?

想到的唯一方法是将dryRun属性设置为运行 SQL true(这将产生最小的处理开销),如果它失败并显示包含短语“尝试使用标准 SQL”的消息,我可以假设它是旧 SQL ,否则它可以工作并且是标准的。例如

为什么

我正在维护一个使用 BigQuery API 迁移数据的集成层(用 Cloud Functions - Node.js 8 编写)。

不幸的是,用户社区已被允许在标准或旧版 SQL 中编写视图和查询。由于在处理 Legacy SQL 时存在许多限制,我想检测哪些查询和视图是使用它编写的,从而允许我相应地调整处理方法。

0 投票
1 回答
1200 浏览

google-bigquery - BigQuery 创建标准和旧版 sql 之间的表差异

关于标准和旧版 sql 中的创建表语法,我有几个问题

  1. 新的 BigQueryUI 不显示标准 sql 类型,而仅显示旧类型。我知道它们与旧类型一对一映射,但创建分区表的示例显示了 UI 中不可用的选项
  2. 如果我使用 JSON 字段模式创建表,我仍然可以使用标准 sql 吗?
  3. BigQueryUI 仅显示按摄取时间对表进行分区,但我想创建一个包含日期列的表,但没有看到它的选项。如果我必须手动创建 DDL,我没有看到有关如何使用 JSON 字段模式构造创建表语句的示例。
0 投票
1 回答
223 浏览

google-analytics - BigQuery GA Open Funnel Legacy SQL:排除查看过某些页面的会话

我正在尝试在 BigQuery 中重新创建 GA 漏斗,这个打开的漏斗将排除查看过某些页面的会话,我尝试使用以下内容:AND NOT REGEXP_MATCH,NOT IN,但它仍然无法按我的预期工作,我仍在获取会话查看了我要排除的页面。

如果可能的话,我也想让它成为一个封闭的漏斗,这段代码返回一个开放的漏斗。

另外,有没有更好的方法用标准 SQL 编写这个查询?

在这些方面需要帮助。谢谢。

0 投票
1 回答
71 浏览

javascript - Legacy UDF - 确定字典/地图中的最大值

我有一个 JSON 映射/字典,我想在其中找到最大值,但我在编写 UDF(使用旧版 SQL 语法)时遇到问题。我在网上找不到很多资源或示例,但我确实看到了很多标准 SQL。任何人都可以提供使用旧版 SQL 处理地图、字典和用户定义函数的帮助或良好的在线示例吗?谢谢!

示例输入: {“cat_age”: 14, “dog_age”: 4} (这是我表中的列,我们称列名“AgeColumn”)

输出: 14

0 投票
1 回答
248 浏览

sql - 将旧版 SQL 查询转换为标准 SQL

我希望将以下旧版 SQL 查询转换为标准 SQL。我遇到的问题是我需要取消嵌套两个表(标签和学分)。如何转换此查询?谢谢!

每当我尝试重写此查询时,都会遇到“标量子查询产生了多个元素”(见下文)。

我正在尝试重写的旧版 SQL 查询:

到目前为止我在标准 SQL 中尝试过的内容:

此查询运行,但行数明显少于我的预期。

0 投票
1 回答
379 浏览

split - 使用#standardsql 的 Google Big Query SPLIT() 函数

我正在尝试使用 SPLIT() 函数将字符串数组转换为单独的行。

数据看起来像这样:

我希望数据看起来像这样:

...等等。当我使用以下内容时: SELECT id, SPLIT(ticket) FROM table,我得到了我想要的结果。问题是,我必须将这个表与另一个分区表连接起来,我不能使用旧版 SQL。由于与每个 ID 相关联的多个票证(最多 200 个),输入每个 ID 似乎效率低下。票号也被格式化为字符串。

如果有人对此有解决方案,将不胜感激!

0 投票
1 回答
53 浏览

google-bigquery - 将 table_date_range 转换为 table_suffix 不起作用,因为响应太大

我在 BigQuery Legacy SQL 中有以下查询。到目前为止,此查询运行没有问题。

在我们希望将所有查询逐步移至 StandardSQL 之后,新查询已在 StandardSQL 中编写如下。

但是,此查询不再运行,而带有 LegacySQL 的变体工作正常。我收到以下错误消息:错误:响应太大而无法返回。考虑在您的作业配置中将 allowLargeResults 设置为 true。

带有 _table_suffix 的变体性能会差很多吗?还是有替代方案?我使用 Table_Date_Range 来查询大约 400 个表。

我想将结果保存为视图,而不必通过“AllowLargeResults”将它们写入表中。

非常感谢!