SQL Server
能够声明一个变量,然后在查询中调用该变量,如下所示:
DECLARE @StartDate date;
SET @StartDate = '2015-01-01';
SELECT *
FROM Orders
WHERE OrderDate >= @StartDate;
此功能在 Amazon 的 RedShift 中有效吗?来自文档 http://docs.aws.amazon.com/redshift/latest/dg/declare.html,看起来DECLARE
仅用于游标。SET
看起来是我正在寻找的函数,但是当我尝试使用它时,出现错误。
set session StartDate = '2015-01-01';
[Error Code: 500310, SQL State: 42704] [Amazon](500310) Invalid operation: unrecognized configuration parameter "startdate";
是否可以这样做RedShift
?
Slavik Meltser 的回答很棒。作为此主题的变体,您还可以使用WITH构造:
WITH tmp_variables AS (
SELECT
'2015-01-01'::DATE AS StartDate,
'some string' AS some_value,
5556::BIGINT AS some_id
)
SELECT *
FROM Orders
WHERE OrderDate >= (SELECT StartDate FROM tmp_variables);
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)