sql - Oracle date datatype vs sysdate -


in table sales there expiry date field of date type. now, have write query selects records having expiry date greater current system date.

select * sales expiry_date > sysdate; 

in output getting all records expiry date 31/12/9999 00:00:00, not desired.

" in output getting records expiry date 31/12/9999 00:00:00 not desired."

but that's query asks for: must admit year 9999 greater current year.

so either query correct , have misunderstood requirement, or need re-write query explicitly exclude records maximum date.

presumably in case expiry_date defined not null , late change when raised matter of records never expire. instead have magic value of 31-12-9999 ,which means of "these records not expire".

anyhow, here query now:

select * sales  expiry_date > sysdate , expiry_date != date '9999-12-31'; 

this common problem magic values: offer quick fix architectural problem levy ongoing tax on application logic.


Comments

Popular posts from this blog

c# - Better 64-bit byte array hash -

webrtc - Which ICE candidate am I using and why? -

php - Zend Framework / Skeleton-Application / Composer install issue -