----- Original Message ----- > From: "Howard News" <howardn...@selestial.com> > Sent: Wednesday, November 30, 2016 9:03:28 AM > Subject: Re: [GENERAL] select function alias
> On 30/11/2016 13:42, Timoteo Blanco wrote: > > I've a series of timestamp columns I'd like to alias in select statements. > > psql indicates my alias doesnt exist after > > > I define it. > > > Example -> select to_char(impressions_create_date,'yyyy-mm-dd') as ymd from > > impressionsdb where ymd like '2016-11%' ; > > > psql always complains column ymd does not exist. I've inherited a series of > > tables with many timestamps and would like to > > > shorten the select in queries without renaming any columns. > > 3 options: > 1. Use the same to_char expression in the where clause > 2. Use a sub-select to use the alias in the outer where clause > 3. Use the original column in the where clause and use the timestamp > comparisson functions. 4. Define views on the tables. Make the views writeable using rules. 5. Use a CTE: with shortnames as ( select to_char(impressions_create_date,'yyyy-mm-dd') as ymd from impressionsdb ) select ymd from shortnames where ymd like '2016-11%'; -- B