Ich bin auf der Suche nach zwei VARCHARS in SQL zu vergleichen, würde man so etwas wie Cafe
und die andere Café
gibt es eine Möglichkeit in SQL, die die beiden Werte zu vergleichen erlaubt. Zum Beispiel:Wie führe ich einen accent-insensitiven Vergleich (e mit è, é, ê und ë) in SQL Server durch?
SELECT *
FROM Venue
WHERE Name Like '%cafe%'
Also, wenn es ein Ort mit dem Namen ist Big Bobs Café Extraordinaire
es im Ergebnis enthalten würde eingestellt?
In diesem Fall müssen Sie die Sortierung nicht zweimal angeben: SELECT * FROM Veranstaltungsort WHERE Name wie '% cafe%' COLLATE Latin1_general_CI_AI – PollusB
@PollusB: true, mein Fehler – gbn
Ich habe diese Antwort implementiert, die Suche ist akzentunempfindlich, aber die Nebeneffekt ist, dass mir in der Select-Abfrage etwas Akzent fehlt. Zum Beispiel c mit akut (U + 0107). In Spalteneigenschaften sehe ich SQL_Latin1_General_CP1_CI_AI Sortierung. Ich änderte die Sortierung mit der folgenden Anweisung: ALTER TABLE mytable ALTER COLUMN Beschreibung varchar (48) COLLATE SQL_Latin1_General_CP1_CI_AI. Früher war es die Czech_CI_AS-Kollatierung. Wenn ich die Abfrage in der Antwort verwende, ohne die Sortierung der Spalte zu ändern, funktioniert sie nicht im Entity-Framework. – qub1n