Click here to Skip to main content
11,485,965 members (72,972 online)
Rate this: bad
good
Please Sign up or sign in to vote.
See more: C# MySQL
I have a column in mysql named parcel_number of varchar type. It contains values like ab-cd-ef and uvwxyz. A search for abcdef or uv-wx-yz does not return those records.

How should I write the query to meet this requirement?
Posted 17-Oct-12 22:37pm
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 1

"ab-cd-ef" and "abcdef" are different values so you can not search for one and expect the other.

To get both values you can do something like using the LIKE keyword :
select * from [tablename] where columnname like 'ab%'
  Permalink  
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 2

you can use mysql Replace function to remove unwanted character from table field and search string. Here is example
select * from [tablename] where Replace(columnname, '-', '') like CONCAT('%',Replace(searchstring, '-', ''), '%')
  Permalink  
v2
Rate this: bad
good
Please Sign up or sign in to vote.

Solution 3

you can do this, first create this method:
public static string GetLike(string input)
{
    string[] sa = input.Split(' ');
    var sb = new System.Text.StringBuilder();
    sb.Append("'");
    foreach (string s in sa)
    {
        sb.Append("%" + s);
    }
    sb.Append("%'");
    return sb.ToString();
}
Then, we can use it like this:
private string GenerateSQL(string searchThis)
{
    string sql = "select * from `tablename` where `columnname` like "
                 + GetLike(searchThis) + ";";
}
In this case, if you want to search "ab-cd-ef" and "abcdef", you do it like this
GenerateSQL("ab cd");
and this will be generated:
select * from `tablename` where `columnname` like '%ab%cd%';
you will be able to get both. (ab-cd-ef and abcdef)
  Permalink  
v3

This content, along with any associated source code and files, is licensed under The Code Project Open License (CPOL)

  Print Answers RSS
0 Sergey Alexandrovich Kryukov 8,819
1 OriginalGriff 8,047
2 Sascha Lefèvre 3,199
3 Maciej Los 2,886
4 Richard Deeming 2,370


Advertise | Privacy | Mobile
Web03 | 2.8.150520.1 | Last Updated 18 Oct 2012
Copyright © CodeProject, 1999-2015
All Rights Reserved. Terms of Service
Layout: fixed | fluid

CodeProject, 503-250 Ferrand Drive Toronto Ontario, M3C 3G8 Canada +1 416-849-8900 x 100