问题标签 [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.
sql - 以小时为单位的连接时间:Bigquery 的分钟
在大查询中将时间连接在一起,但它不允许我使用它。
康卡特
错误:对于参数类型:INT64、STRING 的运算符 + 没有匹配的签名。支持的签名:INT64 + INT64;浮点64 + 浮点64;NUMERIC + NUMERIC 在 [5:10]
如何在 bigquery 中连接时间
sql - 输入计算到无效时间:大查询中的 24:00:00
我正在运行查询以 24 小时格式显示时间,但是当我运行查询并计算超过 23:59:59 的时间时,而不是过去并将时间更改为 00:00:00,它给了我错误说输入计算无效时间:24:00:00。
错误输入计算到无效时间:24:00:00
试图从 23:00:00 到 00:00:00 或以后计算它
google-api - 在 BigQuery 中使用 dryRun 区分标准和旧版 SQL 查询的替代方法?
什么
有谁知道使用 BigQuery API 识别/区分以旧版或标准 SQL 编写的视图或查询的更好方法?
想到的唯一方法是将dryRun
属性设置为运行 SQL true
(这将产生最小的处理开销),如果它失败并显示包含短语“尝试使用标准 SQL”的消息,我可以假设它是旧 SQL ,否则它可以工作并且是标准的。例如
为什么
我正在维护一个使用 BigQuery API 迁移数据的集成层(用 Cloud Functions - Node.js 8 编写)。
不幸的是,用户社区已被允许在标准或旧版 SQL 中编写视图和查询。由于在处理 Legacy SQL 时存在许多限制,我想检测哪些查询和视图是使用它编写的,从而允许我相应地调整处理方法。
google-bigquery - BigQuery 创建标准和旧版 sql 之间的表差异
关于标准和旧版 sql 中的创建表语法,我有几个问题
- 新的 BigQueryUI 不显示标准 sql 类型,而仅显示旧类型。我知道它们与旧类型一对一映射,但创建分区表的示例显示了 UI 中不可用的选项
- 如果我使用 JSON 字段模式创建表,我仍然可以使用标准 sql 吗?
- BigQueryUI 仅显示按摄取时间对表进行分区,但我想创建一个包含日期列的表,但没有看到它的选项。如果我必须手动创建 DDL,我没有看到有关如何使用 JSON 字段模式构造创建表语句的示例。
google-analytics - BigQuery GA Open Funnel Legacy SQL:排除查看过某些页面的会话
我正在尝试在 BigQuery 中重新创建 GA 漏斗,这个打开的漏斗将排除查看过某些页面的会话,我尝试使用以下内容:AND NOT REGEXP_MATCH,NOT IN,但它仍然无法按我的预期工作,我仍在获取会话查看了我要排除的页面。
如果可能的话,我也想让它成为一个封闭的漏斗,这段代码返回一个开放的漏斗。
另外,有没有更好的方法用标准 SQL 编写这个查询?
在这些方面需要帮助。谢谢。
javascript - Legacy UDF - 确定字典/地图中的最大值
我有一个 JSON 映射/字典,我想在其中找到最大值,但我在编写 UDF(使用旧版 SQL 语法)时遇到问题。我在网上找不到很多资源或示例,但我确实看到了很多标准 SQL。任何人都可以提供使用旧版 SQL 处理地图、字典和用户定义函数的帮助或良好的在线示例吗?谢谢!
示例输入: {“cat_age”: 14, “dog_age”: 4} (这是我表中的列,我们称列名“AgeColumn”)
输出: 14
sql - 将旧版 SQL 查询转换为标准 SQL
我希望将以下旧版 SQL 查询转换为标准 SQL。我遇到的问题是我需要取消嵌套两个表(标签和学分)。如何转换此查询?谢谢!
每当我尝试重写此查询时,都会遇到“标量子查询产生了多个元素”(见下文)。
我正在尝试重写的旧版 SQL 查询:
到目前为止我在标准 SQL 中尝试过的内容:
此查询运行,但行数明显少于我的预期。
split - 使用#standardsql 的 Google Big Query SPLIT() 函数
我正在尝试使用 SPLIT() 函数将字符串数组转换为单独的行。
数据看起来像这样:
我希望数据看起来像这样:
...等等。当我使用以下内容时:
SELECT id, SPLIT(ticket) FROM table
,我得到了我想要的结果。问题是,我必须将这个表与另一个分区表连接起来,我不能使用旧版 SQL。由于与每个 ID 相关联的多个票证(最多 200 个),输入每个 ID 似乎效率低下。票号也被格式化为字符串。
如果有人对此有解决方案,将不胜感激!
google-bigquery - 将 table_date_range 转换为 table_suffix 不起作用,因为响应太大
我在 BigQuery Legacy SQL 中有以下查询。到目前为止,此查询运行没有问题。
在我们希望将所有查询逐步移至 StandardSQL 之后,新查询已在 StandardSQL 中编写如下。
但是,此查询不再运行,而带有 LegacySQL 的变体工作正常。我收到以下错误消息:错误:响应太大而无法返回。考虑在您的作业配置中将 allowLargeResults 设置为 true。
带有 _table_suffix 的变体性能会差很多吗?还是有替代方案?我使用 Table_Date_Range 来查询大约 400 个表。
我想将结果保存为视图,而不必通过“AllowLargeResults”将它们写入表中。
非常感谢!