> 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: [email protected] 
[[email protected]]" im Auftrag von "John Turner 
[[email protected]]
Gesendet: Donnerstag, 26. Februar 2015 21:17
An: [email protected]
Betreff: Re: [GENERAL] range type expression syntax

On Thu, 26 Feb 2015 15:11:28 -0500, John Turner <[email protected]>
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 ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


-- 
Sent via pgsql-general mailing list ([email protected])
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general

Reply via email to