Обсуждение: query using a date field that isn't set

Поиск
Список
Период
Сортировка

query using a date field that isn't set

От
"John B. Scalia"
Дата:
<div class="Section1"><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">Hi all,</span></font><p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size:10.0pt;
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">I’ve got a SQL problem that’s stumping me. I have an employee table with a field
labeled:</span></font><pclass="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
 
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">Emp_terminated            DATE</span></font><p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size:10.0pt;
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">Obviously, some employees in this table won’t have this field set. I want a query to select only
employeeswithout this field being set, ie., only current employees. I’ve got the inverse working by
using:</span></font><pclass="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
 
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">SELECT * FROM employee WHERE ISFINITE(emp_terminated);</span></font><p class="MsoNormal"><font
face="Arial"size="2"><span style="font-size:10.0pt;
 
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">And that gives me all the old employees (where the field has a value), but for the life of me, I
can’tfigure out the syntax to use for employees that haven’t been terminated or quit. Everything I’ve tried returns no
rows.</span></font><pclass="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
 
font-family:Arial"> </span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">Anybody?</span></font><p class="MsoNormal"><font face="Arial" size="2"><span
style="font-size:10.0pt;
font-family:Arial">--</span></font><p class="MsoNormal"><font face="Arial" size="2"><span style="font-size:10.0pt;
font-family:Arial">John</span></font></div>

Re: query using a date field that isn't set

От
"D'Arcy J.M. Cain"
Дата:
On Tue, 02 Nov 2004 10:44:41 -0500
"John B. Scalia" <jscalia@cityblueprinting.com> wrote:
> I've got a SQL problem that's stumping me. I have an employee table
> with a field labeled:
> 
> Emp_terminated            DATE
> 
> Obviously, some employees in this table won't have this field set. I
> want a query to select only employees without this field being set,
> ie., only current employees. I've got the inverse working by using:
> 
> SELECT * FROM employee WHERE ISFINITE(emp_terminated);

From http://www.postgresql.org/docs/faqs/FAQ.html:

4.13) In a query, how do I detect if a field is NULL?

You test the column with IS NULL and IS NOT NULL.

-- 
D'Arcy J.M. Cain <darcy@druid.net>         |  Democracy is three wolves
http://www.druid.net/darcy/                |  and a sheep voting on
+1 416 425 1212     (DoD#0082)    (eNTP)   |  what's for dinner.