Re: Programmatic access to interval units

Поиск
Список
Период
Сортировка
От Melvin Davidson
Тема Re: Programmatic access to interval units
Дата
Msg-id CANu8FiyiZLjJH5Uy1iHRBT8jj_zcMFeggRMQTM6zTCDz3Yqn7w@mail.gmail.com
обсуждение исходный текст
Ответ на Re: Programmatic access to interval units  (Nelson Green <nelsongreen84@gmail.com>)
Ответы Re: Programmatic access to interval units  (Nelson Green <nelsongreen84@gmail.com>)
Список pgsql-general
I'm pretty sure the interval values are buried in the code, but there is nothing to prevent you from creating your own reference table. :)

CREATE TABLE time_intervals
(
  time_interval_name varchar(15) NOT NULL,
  CONSTRAINT time_intervals_pk PRIMARY KEY (time_interval_name)
);

INSERT INTO time_intervals
VALUES
('microsecond'),
('millisecond'),
('second'),
('minute'),
('hour'),
('day'),
('week'),
('month'),
('year'),
('decade'),
('century'),
('millennium');


SELECT * FROM time_intervals;

On Tue, Dec 2, 2014 at 10:48 AM, Nelson Green <nelsongreen84@gmail.com> wrote:
On Mon, Dec 1, 2014 at 2:14 PM, Merlin Moncure <mmoncure@gmail.com> wrote:
On Mon, Dec 1, 2014 at 10:42 AM, Nelson Green <nelsongreen84@gmail.com> wrote:
> Good morning list,
>
> According to the documentation for interval data type inputs, the unit can
> be one of microsecond, millisecond, second, minute, hour, day, week, month,
> year, decade, century, or millennium. Are these units stored in a catalog
> somewhere? I would like to access them programmatically if possible, to
> validate input for a function I am developing.

if you're writing C, you can use libpqtypes to do this. It exposes the
interval as a C structure.

typedef struct
{
        int years;
        int mons;
        int days;
        int hours;
        int mins;
        int secs;
        int usecs;
} PGinterval;


merlin

Thanks Merlin. I am not writing this in C, rather I am using Pl/pgSQL. Apologies
for not mentioning that up front. I was hoping to do a SELECT ... WHERE IN
query form a catalog relation.

That being said, maybe it is time for me to get back into C? I haven't done much
in C in many years, but this simple validation function might not be a bad
jumping off point. If I do not get the response I was hoping for I may just do
that.

Regards,
Nelson



--
Melvin Davidson
I reserve the right to fantasize.  Whether or not you
wish to share my fantasy is entirely up to you.

В списке pgsql-general по дате отправления:

Предыдущее
От: Rémi Cura
Дата:
Сообщение: update several columns from function returning several values
Следующее
От: Tom Lane
Дата:
Сообщение: Re: update several columns from function returning several values