Why is NULL = unbounded for rangetypes?
Andreas Joseph Krogh <andreak@officenet.no>
From: Andreas Joseph Krogh <andreak@officenet.no>
To: Postgres General <pgsql-general@postgresql.org>
Date: 2013-07-08T08:19:18Z
Lists: pgsql-general
Attachments
- (unnamed) (text/html)
<div>Hi.</div> <div> </div> <div>Both of these queries return TRUE because NULL means "unmounded":</div> <div> <style type="text/css"></style> <pre class="western" style="text-align: left"> <font face="DejaVu Sans Mono"><font color="#000080"><b>select daterange</b></font><font color="#000000">(</font><font color="#008000"><b>'2013-07-01' </b></font><font color="#000000">:: </font><font color="#000080"><b>DATE</b></font><font color="#000000">, </font><font color="#000080"><b>null</b></font><font color="#000000">, </font><font color="#008000"><b>'[]'</b></font><font color="#000000">) && </font><font color="#000080"><b>daterange</b></font><font color="#000000">(</font><font color="#008000"><b>'2013-07-04' </b></font><font color="#000000">:: </font><font color="#000080"><b>DATE</b></font><font color="#000000">, </font><font color="#008000"><b>'2013-07-30' </b></font><font color="#000000">:: </font><font color="#000080"><b>DATE</b></font><font color="#000000">, </font><font color="#008000"><b>'[]'</b></font><font color="#000000">);</font></font> <font face="DejaVu Sans Mono"><font color="#000080"><b>select daterange</b></font><font color="#000000">(</font><font color="#000080"><b>null</b></font><font color="#000000">, </font><font color="#008000"><b>'2013-08-11' </b></font><font color="#000000">:: </font><font color="#000080"><b>DATE</b></font><font color="#000000">, </font><font color="#008000"><b>'[]'</b></font><font color="#000000">) && </font><font color="#000080"><b>daterange</b></font><font color="#000000">(</font><font color="#008000"><b>'2013-07-04' </b></font><font color="#000000">:: </font><font color="#000080"><b>DATE</b></font><font color="#000000">, </font><font color="#008000"><b>'2013-07-30' </b></font><font color="#000000">:: </font><font color="#000080"><b>DATE</b></font><font color="#000000">, </font><font color="#008000"><b>'[]'</b></font><font color="#000000">);</font></font></pre> <div>What is the rational behind this behavior of NULL?</div> </div> <div> <div class="origo-email-signature">--<br> Andreas Joseph Krogh <andreak@officenet.no> mob: +47 909 56 963<br> Senior Software Developer / CTO - OfficeNet AS - http://www.officenet.no<br> Public key: http://home.officenet.no/~andreak/public_key.asc</div> </div>