Einzelnen Beitrag anzeigen

omata

Registriert seit: 26. Aug 2004
Ort: Nebel auf Amrum
3.154 Beiträge
 
Delphi 7 Enterprise
 
#3

Re: Ähnlichkeitssuche in einer SQL-Datenbank???

  Alt 6. Sep 2005, 01:42
So, habe mich nochmal etwas näher damit beschäftigt.

Nachdem ich oben nur sehr ungenau war möchte ich jetzt etwas genauer werden...

Ich habe mal eine DLL angelegt, die du in den Server integrieren kannst (siehe Anhang).

In der Master-Datenbank unter "Erweiterte gespeicherte Prozeduren" musst du die DLL eintragen. Beim Namen muss angegeben werden: xp_Levenshtein

Mit
SQL-Code:
DECLARE @d INT
EXEC master..xp_Levenshtein 'Text1', 'Text2', @r = @d OUTPUT
SELECT @d
könntest du jetzt schon auf die neue Funktion zugreifen.

Es geht aber auch noch etwas schöner...

In deiner Datenbank unter "Benutzerdefinierte Funktionen" eine neue Funktion anlegen
SQL-Code:
CREATE FUNCTION dbo.Levenshtein (@S1 VARCHAR, @S2 VARCHAR)
RETURNS INT AS
BEGIN
  DECLARE @b INT
  EXEC master..xp_Levenshtein @S1, @S2, @a = @b OUTPUT
  RETURN @b
END
Jetzt ist der Zugriff auf die Funktion auch innerhalb einer SQL-Abfrage möglich.
SQL-Code:
SELECT *, dbo.Levenshtein(feld1, feld2)
FROM tabelle
Hoffe das hilft dir weiter.

MfG
Thorsten
Angehängte Dateien
Dateityp: zip levenshtein_204.zip (222,0 KB, 25x aufgerufen)
  Mit Zitat antworten Zitat