当前位置: 首页 > 面试题库 >

如何使用脚本INTERVAL 1生成 ?

堵泽宇
2023-03-14
问题内容

我们正在尝试找到一种语法,以从日期函数的第三个参数生成DAY | WEEK | MONTH选项。

DECLARE var_date_option STRING DEFAULT 'DAY';
select GENERATE_DATE_ARRAY('2019-01-01','2020-01-01',INTERVAL 1 WEEK)
                                            dynamic param here -^^^

您知道在DECLARE中使用什么正确的语法,并且应该将其转换为有效的SQL。


问题答案:

以下是BigQuery标准SQL

这些DAY|WEEK|MONTH都是文字,无法进行参数化
而且,您知道-动态SQL尚不可用

因此,不幸的是,以下是我今天能想到的唯一解决方案

#standardSQL
DECLARE var_date_option STRING DEFAULT 'DAY';
DECLARE start_date, end_date DATE;
DECLARE date_array ARRAY<DATE>;

SET (start_date, end_date, var_date_option) = ('2019-01-01','2020-01-01', 'MONTH');

SET date_array = (
  SELECT CASE var_date_option 
    WHEN 'DAY' THEN GENERATE_DATE_ARRAY(start_date, end_date, INTERVAL 1 DAY)
    WHEN 'WEEK' THEN GENERATE_DATE_ARRAY(start_date, end_date, INTERVAL 1 WEEK)
    WHEN 'MONTH' THEN GENERATE_DATE_ARRAY(start_date, end_date, INTERVAL 1 MONTH)
  END
);

SELECT * FROM UNNEST(date_array) AS date_dt;


 类似资料:
  • 在你完成模型后,你可以保存模型表结构、视图或外键成一个脚本文件。导出 SQL 功能为脚本生成一个 SQL 文件。选择 工具 -> 导出 SQL。 导出 SQL 的常规设置 文件 设置输出的文件名和位置。 对象 在现有的模型中选择你想导出的对象。 导出 SQL 的高级设置 下列选项是根据你所选择图表的数据库类型:MySQL、Oracle、PostgreSQL、SQLite、SQL Server 和

  • 我需要重载jenkins函数来调试IDE中的管道脚本。 我是java/groovy等的新手。我将编写几百行脚本化管道。Groovy是基于java的。由于我是新手,我更喜欢函数名完成/建议和调试功能,在这里我可以一步一步地浏览这些行并查看vars中的内容。 我用groovy插件设置了一个EclipseLuna。这实际上是有效的=)!(对于最新的eclipse,插件还没有准备好)。调试也很酷! 但是特

  • 我正在使用hibernate3-maven-plugin版本2.0hbm2ddl从代码生成SQL脚本。我正在使用过程类。我的实体类我使用的是序列。@sequenceGenerator(Name=“sessionseq”,sequenceName=“session_seq”,allocationsize=50,initialvalue=1)当我运行Maven脚本时,这将生成create SEQUEN

  • 问题内容: 鉴于Java 9已经来临,我们终于可以拥有Java REPL了,我希望有一种方法可以在脚本中添加shebang并对其进行解释。 我尝试创建: 然而,这给出了: 事实证明,OpenJDK https://bugs.openjdk.java.net/browse/JDK-8167440中对此有增强要求。 还有其他方法吗? 问题答案: 用 作为的第一行。该脚本可能如下所示: 当然,命令行选项

  • 本文向大家介绍使用Eclipse如何开发python脚本,包括了使用Eclipse如何开发python脚本的使用技巧和注意事项,需要的朋友参考一下 本文为大家分享了Eclipse开发python脚本的具体方法,供大家参考,具体内容如下 一、安装python 1.访问网址,可以看到如下图所示界面 2.点击上图的"Download",可以看到如下图所示的界面: 3.下载python-2.7.14.am

  • Pm2默认的start命令使用Python2运行脚本。如何让它使用python3运行脚本?假设我的脚本名为app.py。