Beefy Boxes and Bandwidth Generously Provided by pair Networks
The stupid question is the question not asked
 
PerlMonks  

Re: Re: Re: Handling caps for surnames with capitals in the middle (was: Irish Surnames)

by thor (Priest)
on May 06, 2002 at 19:32 UTC ( [id://164420]=note: print w/replies, xml ) Need Help??


in reply to Re: Re: Handling caps for surnames with capitals in the middle (was: Irish Surnames)
in thread Handling caps for surnames with capitals in the middle (was: Irish Surnames)

Wel, depending on whether you're validating (i.e. someone submits their name and you want th check if it's in the database or not) or doing something for each entry in a query (give me a list of every person in the database who likes cheeseburgers), you could just canonicalize in your query. Observe:
$sth=$dbh->prepare(qq(select * from table where lower(last_name)=?)) o +r die "$dbh->errstr"; my ($new_last_name = $last_name) =~ tr/[A-Z]/[a-z]/; $sth->execute($new_last_name) or die "$dbh->errstr";
Now, you can store the names on the database how ever you want, do your query, and return what the user actually entered in as their name (many have made the point that they know how to spell their own name). By translating both your string and what's on the database to lowercase, you are going to find the match regardless of what case it is on the database. Be warned though that this basically destroys any indexing that you may have had on that field, because the database doesn't know what the results of the lower() function will be until it actually does it. So, it must do it on every record on the table.
  • Comment on Re: Re: Re: Handling caps for surnames with capitals in the middle (was: Irish Surnames)
  • Download Code

Log In?
Username:
Password:

What's my password?
Create A New User
Domain Nodelet?
Node Status?
node history
Node Type: note [id://164420]
help
Chatterbox?
and the web crawler heard nothing...

How do I use this?Last hourOther CB clients
Other Users?
Others rifling through the Monastery: (5)
As of 2024-04-19 07:30 GMT
Sections?
Information?
Find Nodes?
Leftovers?
    Voting Booth?

    No recent polls found