If you are asking whether MySQL already has a function that will calculate a levenshtein-distance, I'm pretty sure that the answer is no. You can check the MySQL manual yourself to be sure. The (English language manuals are at http://dev.mysql.com/doc/ and other translations of the manuals can also be accessed from that same page. You'll need to choose the appropriate manual based on your version of MySQL; then look in the Functions and Operators chapter.)
If you are asking whether MySQL supports user-defined functions (UDFs), which allow you to add your own functions to MySQL, the answer is yes, provided you are using Version 5 of MySQL. That means that if you can write the logic needed to calculate a levenshtein-distance in C or C++, you can create your own UDF and add it to MySQL, then invoke it via the function name in your SQL. Possible problem: I see from your example that you want to put the function in your ORDER BY clause; I'm not sure if you can do *that* in MySQL; I think functions have to be invoked from the SELECT clause or HAVING clause or maybe a few other places; I've never seen a function invoked in an ORDER BY in either MySQL or DB2, which I know considerably better than MySQL. You may want to try writing a trivial function and then seeing if you can invoke it from an ORDER BY before you spend much time on the levenshtein-distance function.... Of course, you could always rewrite your query so that the function is invoked from the SELECT, like this: select word1,word2, dist(word1, word2) from myTable order by 3 where the '3' in the ORDER BY clause indicates the third column of the SELECT clause. That should be just as good as your original query. Rhino ----- Original Message ----- From: "Horst Jäger" <[EMAIL PROTECTED]> To: <mysql@lists.mysql.com> Sent: Monday, November 14, 2005 11:02 AM Subject: Let mysql calculate levenshtein-distance > > Hi, > > I have a nice little code snippet in pseudocode, which calculates the > levenshtein-distance between 2 words. > > Is it possible to implement that code in mysql like in > > "select word1,word2 from myTable order by dist(word1,word2 )" > > where dist is the function mentionend above which takes 2 strings and > returns an int? > > Weird question??? :) > > Thanks > > Horst > > > -- > MySQL General Mailing List > For list archives: http://lists.mysql.com/mysql > To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED] > > > -- > No virus found in this incoming message. > Checked by AVG Free Edition. > Version: 7.1.362 / Virus Database: 267.13.0/167 - Release Date: 11/11/2005 > > -- No virus found in this outgoing message. Checked by AVG Free Edition. Version: 7.1.362 / Virus Database: 267.13.0/167 - Release Date: 11/11/2005 -- MySQL General Mailing List For list archives: http://lists.mysql.com/mysql To unsubscribe: http://lists.mysql.com/[EMAIL PROTECTED]