I think the first solution gives the most flexibility, but if you really want it in SQL you could just add a string length condition. The following statement will only return results when clientName contains more than 3 characters. Note that the LENGTH function is dependent on the DB you are using.
string query = "SELECT medicine_name FROM medicines WHERE medicine_name like '" + clientName + "%' AND LENGTH('" + clientName + "') < 4)";