What JL said about the optimizer if you do use a high value. I'm curious about what the context of your use in fact is. -----Original Message----- From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Jonathan Lewis Sent: Wednesday, December 18, 2013 12:45 PM To: oracle-l@xxxxxxxxxxxxx Subject: RE: Using 12/31/9999 in a date field I assume this is actually a column of type date. For date-RANGE predicates the optimizer will generally underestimate the cardinality by a huge factor - e.g. if you have 10 years of real data and ask for one year the optimizer will believe that you are after 1 year in 8,000 (i.e the range of ca. 2,000 CE to 10,000 CE) rather than 1 year in 10. For damage limitation you can create a histogram on the column with as many buckets as possible (254 in 11g) so that the optimizer will get some idea of how much data is in the real range, and how much data is outside the real range. This is one of the few cases where an automatically gathered height-balanced histogram is a fairly safe bet. Regards Jonathan Lewis http://jonathanlewis.wordpress.com @jloracle ________________________________________ From: oracle-l-bounce@xxxxxxxxxxxxx [oracle-l-bounce@xxxxxxxxxxxxx] on behalf of Jay.Miller@xxxxxxxxxxxxxxxx [Jay.Miller@xxxxxxxxxxxxxxxx] Sent: 18 December 2013 17:33 To: Michael.Coll-Barth@xxxxxxxxxxxxxxxxxxx; oracle-l@xxxxxxxxxxxxx Subject: RE: Using 12/31/9999 in a date field My main concern is how the optimizer will deal with it. Certainly functionally it can work fine. Jay Miller Sr. Oracle Database Administrator 201.369.8355 From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Coll-Barth, Michael Sent: Wednesday, December 18, 2013 11:16 AM To: oracle-l@xxxxxxxxxxxxx Subject: RE: Using 12/31/9999 in a date field I've always used this as an end date as opposed to nulls. While I can deal with nulls just fine ( I prefer them, especially for statistics ), but when dealing with users, I find too often that code fails to produce the desired result set due to not properly taking nulls into account. For me, it becomes a question of which do you prefer; a little ugly or crap results? From: oracle-l-bounce@xxxxxxxxxxxxx [mailto:oracle-l-bounce@xxxxxxxxxxxxx] On Behalf Of Jay.Miller@xxxxxxxxxxxxxxxx Sent: Wednesday, December 18, 2013 10:53 AM To: oracle-l@xxxxxxxxxxxxx Subject: Using 12/31/9999 in a date field I've always told people to avoid this like the plague but I'm now on a call with a developer who says Oracle in general and Tom Kyte specifically have changed their position on this and they now recommend it. Has anyone heard anything about this or have a white paper or link that I can review? Or if it still isn't a good idea (I have a hard time imagining it is but maybe the optimizer has gotten a lot smarter) have a link showing the opposite more recent than the 2008 Tom Kyte article? Thanks! Jay Miller -- //www.freelists.org/webpage/oracle-l -- //www.freelists.org/webpage/oracle-l