> postgres=# select concat('[', now()::date, ',', now()::date, > ']')::daterange testrange; There are range specific functions for this: select daterange(now()::date, now()::date, '[]') regards, Marc Mamin ________________________________________ Von: pgsql-general-owner@xxxxxxxxxxxxxx [pgsql-general-owner@xxxxxxxxxxxxxx]" im Auftrag von "John Turner [jjturner@xxxxxxxxxx] Gesendet: Donnerstag, 26. Februar 2015 21:17 An: pgsql-general@xxxxxxxxxxxxxx Betreff: Re: range type expression syntax On Thu, 26 Feb 2015 15:11:28 -0500, John Turner <jjturner@xxxxxxxxxx> wrote: > Seems I'm missing a trick trying to get rangetypes working: > > No problem building the string: > select concat('''[', now()::date, ',', now()::date, ']''') testrange; > testrange > --------------------------- > '[2015-02-26,2015-02-26]' > (1 row) > > Bombed-out trying to turn this into a daterange: > postgres=# select concat('''[', now()::date, ',', now()::date, > ']''')::daterange testrange; > ERROR: malformed range literal: "'[2015-02-26,2015-02-26]'" > DETAIL: Missing left parenthesis or bracket. > > Is there a specific casting I need to apply in order to render a literal > daterange from parameterized range elements? > > /john > > Sorry - too quick to post, I realize there was no need to wrap the expression in extra quotes: postgres=# select concat('[', now()::date, ',', now()::date, ']')::daterange testrange; testrange ------------------------- [2015-02-26,2015-02-27) (1 row) -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general -- Sent via pgsql-general mailing list (pgsql-general@xxxxxxxxxxxxxx) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general