“s.a”在此generate_series()查询中的含义是什么

时间:2012-09-21 14:45:37

标签: postgresql generate-series

我正在尝试返回工作日,但在此查询中我不理解s.as(a)

SELECT dia 
FROM (
    SELECT ('2012-08-01'::date + s.a * '1 day'::interval) AS dia
    FROM generate_series(0, '2012-08-31'::date - '2012-08-01'::date, 1) AS s(a)
) foo
WHERE EXTRACT(DOW FROM dia) BETWEEN 1 AND 5
EXCEPT
SELECT feriado_data FROM teste.feriado;

有人可以帮我解释一下吗?

1 个答案:

答案 0 :(得分:7)

s中的{p> s(a)表别名,由generate_series返回的集合提供,而a中的s(a)是给别名专栏的别名。

请参阅table expression docs并滚动至 “另一种形式的表别名为表格的列提供临时名称”以获取完整的详细信息。