Search Postgresql Archives

Re: Questions about daterange() function

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



Ken Tanzer wrote
> Hi.  I've got lots of tables with start and end dates in them, and I'm
> trying to learn how to work with them as date ranges (which seem
> fantastic!).  I've noticed that the daterange() function seems to create
> ranges with an inclusive lower bound, and an exclusive upper bound.  For
> example:
> 
> SELECT
>  reg_spc_date,
>  reg_spc_date_end,
>  daterange(reg_spc_date,reg_spc_date_end)
> FROM reg_spc
> LIMIT 5;
> 
>  reg_spc_date | reg_spc_date_end |        daterange
> --------------+------------------+-------------------------
>  2012-04-05   | 2013-10-21       | [2012-04-05,2013-10-21)
>  2013-10-28   |                  | [2013-10-28,)
>  2013-11-01   |                  | [2013-11-01,)
>  2012-10-19   | 2013-11-01       | [2012-10-19,2013-11-01)
>  2005-03-29   | 2013-10-31       | [2005-03-29,2013-10-31)
> (5 rows)
> 
> So here are my questions:
> 
> 1)  Is there anyway to control this behavior of daterange(), or is it just
> best to (for example) add 1 to the upper bound argument if I want an
> inclusive upper bound?

See link for question #3; namely use the three-arg version of daterange
(type,type,text)


> 2)  This is purely cosmetic, but is there anyway to control the output
> formatting of a daterange to show the upper bound as inclusive?  So that
> daterange(d1,d2) would display as [d1,d2-1] rather than [d1,d2)?

Not easily - you could write a custom type with the desired canonical form.


> 3)  I couldn't find this discussed in the documentation, and specifically
> didn't find the daterange() function documented, including on this page
> where I might have expected it:
> http://www.postgresql.org/docs/9.3/static/functions-range.html.  Is it
> somewhere else where I'm not finding it?

Yes, the documentation could maybe use some work on this topic.  The
relevant information is provided at:

http://www.postgresql.org/docs/9.3/interactive/rangetypes.html

See especially: 8.17.2 & 8.17.6

David J.




--
View this message in context: http://postgresql.1045698.n5.nabble.com/Questions-about-daterange-function-tp5809274p5809277.html
Sent from the PostgreSQL - general mailing list archive at Nabble.com.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [Postgresql Jobs]     [Postgresql Admin]     [Postgresql Performance]     [Linux Clusters]     [PHP Home]     [PHP on Windows]     [Kernel Newbies]     [PHP Classes]     [PHP Books]     [PHP Databases]     [Postgresql & PHP]     [Yosemite]
  Powered by Linux