【发布时间】:2010-05-14 08:06:08
【问题描述】:
在Pavel's page 上是以下函数:
CREATE OR REPLACE FUNCTION makedate(year int, dayofyear int)
RETURNS date AS $$
SELECT (date '0001-01-01' + ($1 - 1) * interval '1 year' + ($2 - 1) * interval '1 day'):: date
$$ LANGUAGE sql;
我有以下代码:
makedate(y.year,1)
在 PostgreSQL 中为给定年份的 1 月 1 日创建日期的最快方法是什么?
Pavel 的函数会让我相信它是:
date '0001-01-01' + y.year * interval '1 year' + interval '1 day';
我的想法更像是:
to_date( y.year||'-1-1', 'YYYY-MM-DD');
我正在寻找使用 PostgreSQL 8.4 的最快方法。 (使用日期函数的查询可以选择10万到100万条记录,所以需要速度。)
谢谢!
【问题讨论】:
标签: postgresql query-optimization