interval_forbid_composite_literals
值(默认为粗体)
false、true
描述
一种会话配置,该配置可修改同时包含 YEAR TO MONTH 和 DAY TO SECOND 部分的间隔值。
如果 interval_forbid_composite_literals
为 true
,则如果遇到同时包含 YEAR TO MONTH 和 DAY TO SECOND 部分的间隔,则会返回错误。例如,以下 SQL 包含 INTERVAL DAY TO SECOND,其中同时包含 YEAR TO MONTH 和 DAY TO SECOND 部分。
SELECT INTERVAL '1 year 1 day' DAY TO SECOND;
ERROR: Interval Day To Second literal cannot contain year-month parts. Disable the GUC interval_forbid_composite_literals to suppress this error and silently discard the year-month part.
如果 interval_forbid_composite_literals
为 false
,Amazon Redshift 会抑制错误,并从 INTERVAL DAY TO SECOND 值处截断 YEAR TO MONTH 部分。例如,以下 SQL 包含 INTERVAL DAY TO SECOND,其中同时包含 YEAR TO MONTH 和 DAY TO SECOND 部分。
SET interval_forbid_composite_literals to "false"; SELECT INTERVAL '1 year 1 day' DAY TO SECOND;
intervald2s ------------------------------ 1 days 0 hours 0 mins 0.0 secs