Re: Birthsday list

Поиск
Список
Период
Сортировка
От Svenne Krap
Тема Re: Birthsday list
Дата
Msg-id 7k64rt4ta5g8uhq17ddlfghlmpkk85mdmp@4ax.com
обсуждение исходный текст
Ответ на Birthsday list  (Svenne Krap <usenet@krap.dk>)
Ответы Re: Birthsday list
Список pgsql-general
I kind of found the answer myself ... here are some snipplets ...

the table and the data :


CREATE SEQUENCE "friends_friendid_seq" start 1 increment 1 maxvalue
2147483647 minvalue 1  cache 1 ;

CREATE TABLE "friends" (
        "friendid" integer DEFAULT
nextval('"friends_friendid_seq"'::text) NOT NULL,
        "friendname" character varying,
        "dateofbirth" timestamp with time zone,
        Constraint "friends_pkey" Primary Key ("friendid")
);

COPY "friends"  FROM stdin;
1       Tony    1978-01-28 00:00:00+01
2       Gary    1966-06-04 00:00:00+01
3       Jodie   1979-01-11 00:00:00+01
\.


My query, works but looks clumbersome.. can it be made smarter ?

select * from (
(select *,date_part('year',now()) - date_part('year', dateofbirth) as
age,  date_part('doy',dateofbirth)-date_part('doy',now()) as daystogo
from friends where date_part('doy',dateofbirth) >=
date_part('doy',now()))
union
(select *,date_part('year',now()) - date_part('year', dateofbirth ) +1
as age, date_part('doy',dateofbirth)-date_part('doy',now()) +
date_part('day', (now() + '1 year'::interval)::timestamp -  now()) as
daystogo from friends where date_part('doy',dateofbirth) <
date_part('doy',now())))
 r order by r.daystogo

Tia

Svenne
--
Mail usenet@krap.dk - svenne@krap.dk - PGP key id : 0xDF484022
ICQ: 5434480 - http://www.krap.dk - http://www.krap.net
PGP Key http://keys.pgp.dk:11371/pks/lookup?op=get&search=0xDF484022

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

Предыдущее
От: wsheldah@lexmark.com
Дата:
Сообщение: Re: Double Quoting Table Names????
Следующее
От: "Mitch Vincent"
Дата:
Сообщение: Re: PgAdmin for 7.1.3