Re: How can I replace the year of the created_at column with the current year dynamically ?

From: Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com>
To: Arup Rakshit <aruprakshit(at)rocketmail(dot)com>, "pgsql-general(at)postgresql(dot)org" <pgsql-general(at)postgresql(dot)org>
Subject: Re: How can I replace the year of the created_at column with the current year dynamically ?
Date: 2014-07-02 13:14:34
Message-ID: 53B405BA.2000004@aklaver.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-general

On 07/02/2014 12:48 AM, Arup Rakshit wrote:
>

>
> What is the data at your disposal when trying to select the current
> year? If it is a timestamp, simply use date_part:
> =# select date_part('year', now());
> date_part
>
> -----------
> 2014
>
> (1 row)
> --
> Michael
>
> It is *datetime*. Now my users are created at different date...
>
> say -
>
> user1 24/02/1997
> user2 28/02/2011
> user3 02/03/2001
> user4 01/03/2003
> .....
>
> But I have some requirment, where date/month part will be as it is...
> but as per the current year, I will replace the actual year with the
> current year, while I will be displaying it. To meet this need, I am
> currently doing as
>
> select to_char(created_at,'DD/MM') || '/' || to_char(now(),'YYYY') as
> when from users;

Maybe simplify it a bit:

select to_char('2011-01-01'::timestamp,'DD/MM/' || to_char(now(),'YYYY'));

or per Michaels suggestion:

select to_char('2011-01-01'::timestamp,'DD/MM/' || date_part('year',
now()));

>
>
>
>
>
>

--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com

In response to

Responses

Browse pgsql-general by date

  From Date Subject
Next Message Rich Shepard 2014-07-02 13:17:31 Question About Roles
Previous Message Stuart Bishop 2014-07-02 08:46:51 Re: Very high latency, low bandwidth replication