abhishek jain wrote:
Hi Friends,
I have a ticky mysql problem.
I need to find the country name from the country prefix so eg. i have a mysql table with prefix and name as the coumns and with datas like :
Prefix,  Name
1          USA
11        XYZ
44        UK
91        India
92        Pakistan
123      ZXF
and i have a number like 911122334455 and i need to match that to india.
I cannot do that directly by this statement select name from country_table where prefix='91'; for the simple reason as i do not have the length or the no. of digits the prefix is beforehand.
Pl. help me out.
Quick help will be appreciated.


I believe the following query does what you describe:

  SELECT name FROM country_table
  WHERE '911122334455' LIKE CONCAT(prefix, '%');

or equivalently

  SELECT name FROM country_table
  WHERE '911122334455' REGEXP CONCAT('^', prefix);

Depending on your data, there could be more than one match. For example, the string '12345551212' (a phone number in Ohio) would return USA and ZXF from your sample table above. I suppose that if these are phone numbers (not my area of expertise), they must be arranged so that can't happen.

Michael



--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to