verwendetes Datenbanksystem: SQL SERVER 2005
Ich würde gerne eine Wildcardsuche bastelen, in der ich nach soetwas suchen kann. Beispiel:
*m*.exe
Bis jetzt sieht meine Abfrage so aus
SELECT * FROM table WHERE column LIKE '%' + @suchbegriff + '%'
So kann ich leider nur begrenzt suchen:
Beispiel:
Suchbegriff: programm
Filename: testprogramm.exe
Es wird nur etwas gefunden, wenn der Suchbegriff auch GENAUSO im Filename vorkommt
Kann mir da bitte jemand weiterhelfen? Danke
Es wird nur etwas gefunden, wenn der Suchbegriff auch GENAUSO im Filename vorkommt
Joa, was soll der SQL-Server denn auch finden wenn du anstelle von "programm" "pragomm" eingibst. Eventuell bist du mit einem Volltextindex besser bedient.
Suchen nach dem Schema "LIKE '%irgendwas%'" hebeln auch deine Indices aus und haben dann einen Full-Table-Scan zur folge was bei größeren Mengen an Daten schnell zu Performanceproblemen führt.
Hallo,
dazu kannst du die Fuzzy-Suche verwenden. Mein Artikel beschriebt auf einfache Weise wie dies mit C# gelöst wird. Lässt sich auch in T-SQL bewerkstelligen (oder durch CLR-Integration).
mfG Gü
Stellt fachliche Fragen bitte im Forum, damit von den Antworten alle profitieren. Daher beantworte ich solche Fragen nicht per PM.
"Alle sagten, das geht nicht! Dann kam einer, der wusste das nicht - und hat's gemacht!"