Wie führe ich einen accent-insensitiven Vergleich (e mit è, é, ê und ë) in SQL Server durch?
Ich bin auf der Suche nach vergleichen zwei varchars in SQL würde man so etwas wie Cafe
und die anderen Café
gibt es eine Möglichkeit in SQL, die es erlauben werden die beiden Werte verglichen werden. Zum Beispiel:
SELECT *
FROM Venue
WHERE Name Like '%cafe%'
Also, wenn es einen Ort mit dem Namen Big Bobs Café Extraordinaire
es wäre im Ergebnis enthalten?
InformationsquelleAutor der Frage ilivewithian | 2010-03-17
Du musst angemeldet sein, um einen Kommentar abzugeben.
Zwingen einen Akzent unempfindlich Sortierung
Werden Sie auch brauchen, um sicherzustellen, beide Seiten haben die gleiche Sortierung zu vermeiden, Fehler oder weitere Zwang, wenn Sie vergleichen möchten, gegen eine table-variable oder temp-Tabelle varchar-Spalte
und weil der Konstante Wert wird die Sortierung der Datenbank-Update: nur für lokale Variablen, nicht für Konstantennee, selbst dann nichtInformationsquelleAutor der Antwort gbn
Durch Anwendung einer besonderen Akzent unempfindlich Sortierung zu Ihrer Auswahl:
CI steht für "Case Insensitive" und KI für "Accent-Insensitive".
InformationsquelleAutor der Antwort Mitch Wheat
Akzent und Accent-Insensitive-Suche werden keine durch die Nutzung
Latin1_general_CI_AI
Hier
AI
ist für Akzent und UnempfindlichAS
für Akzentie, Café und Cafe sind die gleichen, wenn keine Unterscheidung nach Akzent.
In der folgenden Abfrage
Latin1_general_CI_AI
werden können, Gliedern sich in die folgenden Teile.latin1
macht der server behandeln von strings mit charset latin-1, im Grunde ascii.CI gibt groß-und Kleinschreibung, so "ABC" gleich "abc".
Ihre Abfrage sollte wie folgt sein:
Erwartet Ergebnis ist wie folgt:
InformationsquelleAutor der Antwort JINO SHAJI
wenn 'A' COLLATE SQL_Latin1_General_CP1_CS_AS= 'a' COLLATE SQL_Latin1_General_CP1_CS_AS
WÄHLEN Sie N'Yes'
SONST
WÄHLEN Sie N 'no'
InformationsquelleAutor der Antwort Morteza Sefidi