google-bigquery - 在标准 sql GBQ 中使用创建表函数时在表名中添加今天日期
问题描述
我对 GBQ 很陌生,任何帮助都将不胜感激。
我在下面有一个查询:
#Standard SQL
create or replace table `xxx.xxx.applications`
as select * from `yyy.yyy.applications`
我需要做的是在表名的末尾添加今天的日期,所以它xxx.xxx.applications_<todays date>
基本上是用 Application 创建一个文件名,但在名称 applications 的末尾添加日期。
我正在编写一个程序来在每次运行时创建一个表,但每次创建表时都需要添加日期以进行审计(作为备份)。我到处搜索,但无法得到确切的答案,这在查询编辑器中是否可行,因为我需要将其存储为 Proc。
提前致谢
解决方案
BigQuery
目前不支持动态 SQL,这意味着这种构造是不可能的。当前BigQuery
支持参数化查询,但不能使用参数来动态更改源表的名称,如您在提供的链接中所见。
BigQuery 支持查询参数,以在使用用户输入构建查询时帮助防止 SQL 注入。此功能仅适用于标准 SQL 语法。查询参数可以用作任意表达式的替代品。参数不能用作标识符、列名、表名或查询的其他部分的替代品。
如果您需要基于某个变量的值构建查询,我建议您使用 中的一些脚本SHELL
或Python
任何其他编程语言来创建 SQL 语句,然后使用bq命令执行它。
另一种方法可能是使用某些受支持语言的BigQuery
客户端库而不是 bq 命令。
推荐阅读
- firebase - Flutter:如何将列表传递到条件的 Firestore
- reactjs - 带钩子的反应网格布局
- wordpress - WP_Query tax_query 基于 GET 变量
- flutter - 如何过滤具有不相关字段 DART 的两个模型?
- elasticsearch - 嵌套查询中具有范围子查询的弹性搜索
- javascript - 从多选表单中获取值并将其插入到同一个表格单元格中
- java - 通过流打印时的 Java 意外行为
- angular - 错误:date-fns 不接受字符串作为日期参数。请使用 `parseISO` 解析字符串
- ruby-on-rails - Ruby on Rails - 生成页面时出现问题
- vba - 使用 Application.Workbooks.Open 打开 .txt 文件,但它会删除长数字