In the MySQL reference, it warns against using HAVING for items
that "should" be in a WHERE clause. I'm not sure what items
"should" be in a WHERE clause.
My exact problem is I want to select some records that have a
dotted IP address as one of the fields. And I want to filter out
the multicast addresses, which are the addresses that begin with
the numbers in the range of 224. thru 239. This does it:
SELECT * FROM Client WHERE left(inetAdr,instr(inetAdr,"."))< 224
OR left(inetAdr,instr(inetAdr,".")) > 239
and this works as well:
SELECT *,left(inetAdr,instr(inetAdr,".")) as ia FROM Client HAVING ia < 224
OR ia > 239
and it is a little cleaner, although as I'm going to be doing this in a
PHP script, cleanliness isn't all that important.
So I guess I have 2 questions:
1] Which should I use?
2] Is this the easiest way to check for the multicast address?
--
Jonathan Arnold (mailto:jdarnold@stripped)
Amazing Developments http://www.buddydog.org
It ain't what you don't know that gets you into trouble.
It's what you know for sure that just ain't so. Mark Twain