AWS Redshift - 将列定义为条件?

时间:2017-01-19 16:58:32

标签: amazon-web-services conditional amazon-redshift

是否可以通过条件表达式定义列?并在插入时对其进行评估/填充。

示例:

CREATE TABLE "time_of_year"
(
    "year" (smallint)
    ,"month" (smallint)
    ,"season" (conditional {case expression} )
)
;

案例陈述将是:

CASE "month"
WHEN "month" in (12,1,2) THEN 'winter'
WHEN "month" in (3,4,5) THEN 'spring'
WHEN "month" in (6,7,8) THEN 'summer'
ELSE 'fall'
END

如果随后插入年份= 2016年和月份= 5的记录,那么季节会自我填充“春天”

Redshift有可能吗?

1 个答案:

答案 0 :(得分:1)

不,Redshift不支持任何类型的基于触发器的默认值 - 只能使用简单的默认值。

我建议使用视图添加条件列。