Обсуждение: Re: [GENERAL] missing something obvious about intervals?

Поиск
Список
Период
Сортировка

Re: [GENERAL] missing something obvious about intervals?

От
"Jim C. Nasby"
Дата:
On Mon, Dec 12, 2005 at 12:34:45PM -0600, Bruno Wolff III wrote:
> You are better off doing a multiply. Something like:
> area=> select '2005-12-01'::date + 456.5 * '1 second'::interval;
>         ?column?
> ------------------------
>  2005-12-01 00:07:36.50
> (1 row)

This comes up often enough that it's probably worth adding a built-in
function, especially if it's faster to do the multiply (though
presumably a built-in function could outperform both the multiply and
the more common (4.5::float || ' seconds')::interval form.
-- 
Jim C. Nasby, Sr. Engineering Consultant      jnasby@pervasive.com
Pervasive Software      http://pervasive.com    work: 512-231-6117
vcard: http://jim.nasby.net/pervasive.vcf       cell: 512-569-9461


Re: [GENERAL] missing something obvious about intervals?

От
Tom Lane
Дата:
"Jim C. Nasby" <jnasby@pervasive.com> writes:
> On Mon, Dec 12, 2005 at 12:34:45PM -0600, Bruno Wolff III wrote:
>> You are better off doing a multiply. Something like:
>> area=> select '2005-12-01'::date + 456.5 * '1 second'::interval;
>> ?column?
>> ------------------------
>> 2005-12-01 00:07:36.50
>> (1 row)

> This comes up often enough that it's probably worth adding a built-in
> function,

The only case I've noticed seeing on a regular basis is Unix timestamp
conversion (ie, the special case where the date is 1970-01-01); and we
did add a built-in function for that in 8.1.
        regards, tom lane