I see several problems with your statement: 1) "substr" should be "substring" (see http://dev.mysql.com/doc/mysql/en/String_functions.html) 2) "where name like '%' " means that name can have from 0 to any number of characters. Basically it's a match on anything other than NULL. If name is a field that accepts nulls then use "IS NOT NULL" to check for a value. Or, if you want to check for any non-blank value you can use: name > '' . Either of the last two options will use an index, if it exists. 3) your overall logic seems to want to compare the first 3 letters of name to the string 'abc'. You could rewrite your entire WHERE clause as : like 'abc%' and get the same results
Respectfully, Shawn Green Database Administrator Unimin Corporation - Spruce Pine WHERE name like ' Bob Lockie <[EMAIL PROTECTED] To: MySQL Mailing List <[EMAIL PROTECTED]> ca> cc: Fax to: 06/16/2004 04:09 Subject: string compare PM Where is the syntax error in this? select name from users where name like '%' and strcmp( substr(name from 1 for 3), 'abc' )=0; Why should I use strcmp since "MySQL automatically converts numbers to strings as necessary, and vice versa."? -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]