Here is my try : > > >staging::=> select to_char(created_at,'DD/MM') || '/' || >to_char(now(),'YYYY') as when from users; > when >------------ > 24/02/2014 > 28/02/2014 > 02/03/2014 > 01/03/2014 > 04/03/2014 > 02/03/2014 > 06/03/2014 > 07/05/2014 > 02/06/2014 > 06/06/2014 > 20/02/2014 > 20/02/2014 > 20/02/2014 > 20/06/2014 > 20/02/2014 >(15 rows) > > >Can the same be done using any other clever trick ? 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;