4

我正在尝试返回工作日,但我不明白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;

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

4

1 回答 1

8

sins(a)是为返回的集合提供的表别名generate_seriesains(a)是为其唯一列提供的别名。

有关完整详细信息,请参阅表表达式文档并滚动到“另一种形式的表别名为表的列提供临时名称”。

于 2012-09-21T15:09:30.640 回答