2016-03-10 3 views
5

Betrachten Sie die folgende TabelleAuswahl basierend auf Thorn Zeichen MS SQL Server

Words Table

über erstellt:

CREATE TABLE WORD_TEST(WORD NVARCHAR(100)); 

INSERT INTO WORD_TEST(WORD) VALUES('these'),('are'),('some'),('test'),('words'),('including'),('puþpies'),('with'),('parents'); 

Beachten Sie die Thorn (þ) Zeichen in dem Wort puþpies.

Nun, wenn ich etwas tun wollen wie alle Zeilen finden, die diesen Charakter haben darin ich so etwas wie

SELECT * FROM WORD_TEST WHERE WORD LIKE '%þ%'; 

versuchen würde, die das Ergebnis

enter image description here

Aber das Problem gibt ist, dass es auch irgendein "th" in den Wörtern zusammenbringt. Ich habe auch die folgenden Variationen versucht, die das gleiche Ergebnis ergeben.

Wie kann ich nur basierend auf den Wörtern auswählen, die dieses Zeichen enthalten?

+2

Dies wird Ihnen helfen: http://stackoverflow.com/a/29013145/2203084 –

+4

'SELECT * FROM WORD_TEST WHERE WORT LIKE '% þ%' COLLATE Latin1_General_100_BIN2;' –

+0

@FelixPamittan Danke, die Sortierung hinzuzufügen, macht den Trick. Anscheinend brauche ich bessere Suchkriterien, da ich diese Antwort nie gefunden habe! –

Antwort

1

Eine Alternative zu Felix 'Vorschlag, die SELECT Aussage zu ändern, um die Sortierung der WORD Spalt zu setzen wäre, wenn Sie die Tabelle erstellen, so dass es nicht den Stachel Charakter etwas nicht wirft andere (scheinbar th in diesem Fall):

CREATE TABLE WORD_TEST(WORD NVARCHAR(100) COLLATE Latin1_General_100_BIN2); 

nun Ihre SELECT Aussage zu tun, sollten Sie die erwarteten Ergebnisse:

SELECT * FROM WORD_TEST WHERE WORD LIKE '%þ%'; 
+0

Danke, Ja, die Kollatierung macht den Trick, leider kann ich die Erstellung der Tabelle nicht ändern, nur zum Testen/Anzeigen hinzugefügt. Wie Felix jedoch auf die Auswahlkriterien hinwies, löst das Problem. –

Verwandte Themen