2 Stimmen

T-SQL Operatoren LIKE brauchen Hilfe

Ich möchte in der DB suchen

Eingabestring ist "oxoil"

  1. o -> [o-ö]
  2. x -> [x-ks]
  3. -> [s-]
  4. -> [-sh]

Ich muss alle diese Kombinationen durchsuchen. Benötigte Suchkriterien sind schließlich [o-ö][x-ks][o-ö][-s-sh][i-]l

gibt es eine Möglichkeit, dies mit t-sql wie Operator? oder in linq?

3voto

gbn Punkte 407102

Ich würde versuchen, die Sortierung auf akzentunempfindlich zu stellen, wobei Sie natürlich eine für Sie geeignete Sortierung wählen sollten und nicht die lateinische/allgemeine.

WHERE
    myCol COLLATE LATIN1_GENERAL_CI_AI LIKE '%oxosil%' COLLATE LATIN1_GENERAL_CI_AI

0voto

Mitch Wheat Punkte 287474

Eine effiziente Möglichkeit, dies zu tun, ist die Verwendung einer CLR Stored Procedure:

Reguläre Ausdrücke erleichtern den Abgleich von Mustern und die Datenextraktion

Siehe auch: TSQL-Werkbank für reguläre Ausdrücke

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X