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:[EMAIL PROTECTED])
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


--------------------------------------------------------------------- Before posting, please check: http://www.mysql.com/manual.php (the manual) http://lists.mysql.com/ (the list archive)

To request this thread, e-mail <[EMAIL PROTECTED]>
To unsubscribe, e-mail <[EMAIL PROTECTED]>
Trouble unsubscribing? Try: http://lists.mysql.com/php/unsubscribe.php



Reply via email to