我一直在使用 Amazon Redshift 来执行查询。我知道之前有人提出过与此相关的问题。但我不明白如何合并 UDF。
我想分配一个具有特定值的临时变量。我想这样做以使我的脚本动态化。例如——这是我编写代码的常用方式。
SELECT * FROM transaction_table WHERE invoice_date >= '2013-01-01'
AND invoice_date <= '2013-06-30';
Run Code Online (Sandbox Code Playgroud)
就像您将在下面看到的那样。我相信 SQL Server 有一个声明变量可以做这种事情。
SET start_date TO '2013-01-01';
SET end_date TO '2013-06-30';
SELECT * FROM transaction_table WHERE invoice_date >= start_date
AND invoice_date <= end_date;
Run Code Online (Sandbox Code Playgroud)
这样我就不必深入搜索我的脚本。我可以在顶部添加一个 set 语句并对其进行更改。
非常欢迎您的反馈。
不幸的是,Redshift 中没有变量。但是,您可以通过创建临时表并按如下方式引用它来获得类似变量的行为:
CREATE TEMPORARY TABLE _variables AS (
SELECT
'2013-01-01'::date as start_date
, '2013-06-30'::date as end_date
);
SELECT
transaction_table.*
FROM
transaction_table, _variables
WHERE
invoice_date >= start_date
AND
invoice_date <= end_date
;
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
12422 次 |
| 最近记录: |