/ / SQL LIKE ze znakami specjalnymi - sql, sql-server, sql-server-2008

SQL LIKE ze znakami specjalnymi - sql, sql-server, sql-server-2008

Jeśli spróbuję utworzyć selekcję ze znakami specjalnymi (nordyckimi), takimi jak:

Select * from users where name like "%æ%"

Po prostu wybiera wszystkich użytkowników zamiast tych, którzy zawierają literę „…”.

Czy muszę zainstalować jakieś specjalne sterowniki do bazy danych, czy też coś jeszcze przeoczyłem?

Aktualizacja:
Korzystam z bazy danych SQL Server 2008, zestawienie jest ustawione na „SQL_Latin1_General_CP1_CI_AS”, a pole danych to dopuszczalny typ nVarChar.

Odpowiedzi:

4 dla odpowiedzi № 1

Najprawdopodobniej problem z sortowaniem lub typem danych

Przykład podaje 97 i 230

SELECT ASCII("æ" COLLATE Albanian_CI_AI), ASCII("æ" COLLATE Latin1_General_CI_AS)

Potrzebujemy więcej informacji w zasadzie.

Edytować: Pytanie o duński / norweski å (chociaż nierozwiązane)

Edycja 2: zmień kod na ten, jeśli nazwa to nvarchar, aby literał również stał się Unicode.

Select * from users where name like N"%æ%"

0 dla odpowiedzi nr 2

Upewnij się, że używasz rozszerzonego zestawu znaków (utf-8) i wszystko powinno być w porządku.


0 dla odpowiedzi № 3

powinno działać poprawnie.
ale spróbuj tego Select * from users where name like "%[æ]%"