MySQL Select all where DATETIME field is not NULL -
i having trouble selecting proper values query:
select * discounts disclimit > 0 , disclimit >= discredeemed or discexp not null , discexp <= now() discexp datetime field defaults null.
i trying select current unexpired discounts database:
select * discounts where:
- the limit > 0 (a limit exists) , limit >= number redeemed
- an expiration exists (not null) , expiration in future
it seems retrieving values datetime field null. appreciated.
you need parentheses! try this:
select * discounts (disclimit > 0 , disclimit >= discredeemed) or (discexp not null , discexp <= now()) but, question, i'm not sure if or correct. if want meet of following conditions:
- the limit > 0 (a limit exists)
- the limit >= number redeemed
- an expiration exists (not null)
- the expiration in future
you want, this:
select * discounts disclimit > 0 , disclimit >= discredeemed , discexp not null , discexp <= now() or, if want meet of following conditions:
- the limit > 0 (a limit exists)
- the limit >= number redeemed
- the expiration in future or not exist (is null)
you want this:
select * discounts disclimit > 0 , disclimit >= discredeemed , (discexp null or discexp <= now()) note don't need use discexp not null , discexp <= now(), because null not evaluate being <= anything.
hope helps!
Comments
Post a Comment