Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Microsoft SQL Server Новый топик    Ответить
 Как сделать выборку с юникодным символом в условии?  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
select * from tblPrice where Unit like '%I%'
7 ноя 13, 14:15    [15090980]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать выборку с юникодным символом в условии?  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
I должно было быть двойкой в суперскрипте, есть такой символ в юникоде.
Запрос ничего не возвращает.
7 ноя 13, 14:16    [15090988]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать выборку с юникодным символом в условии?  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
0xB2 его код.
7 ноя 13, 14:17    [15090993]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать выборку с юникодным символом в условии?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
N'%I%'
7 ноя 13, 14:17    [15091002]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать выборку с юникодным символом в условии?  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
Спасибо.
7 ноя 13, 14:19    [15091013]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать выборку с юникодным символом в условии?  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
Странно, выбираются не только записи с 0xB2, но и те, где присутствует простая двойка: 25 кг, м2.
7 ноя 13, 14:23    [15091038]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать выборку с юникодным символом в условии?  [new]
pkarklin
Member

Откуда: Москва (Муром)
Сообщений: 74930
автор
где присутствует простая двойка: 25 кг, м2.


Дык двойка в юникоде - она и в Африке двойка. Каким бы скриптом ее не отображало клиентское приложение.
7 ноя 13, 14:28    [15091071]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать выборку с юникодным символом в условии?  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
Так я же выбираю не двойку (0х32), а 0xB2. Это разные символы, а не клиентское оформление:

К сообщению приложен файл. Размер - 22Kb
7 ноя 13, 14:38    [15091119]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать выборку с юникодным символом в условии?  [new]
Glory
Member

Откуда:
Сообщений: 104751
Antonariy
Странно, выбираются не только записи с 0xB2, но и те, где присутствует простая двойка: 25 кг, м2.

select nchar(178), nchar(50)
declare @t table(f1 nvarchar(10))
insert @t values(N'aaa')
insert @t values(N'a'+nchar(178)+N'a')
insert @t values(N'a'+nchar(50)+N'a')
select * from @t
select * from @t where f1 like N'%'+nchar(178)+N'%' COLLATE Latin1_General_CS_AS
select * from @t where f1 like N'%'+nchar(178)+N'%' COLLATE Latin1_General_CI_AS
7 ноя 13, 14:41    [15091138]     Ответить | Цитировать Сообщить модератору
 Re: Как сделать выборку с юникодным символом в условии?  [new]
Antonariy
Member

Откуда: ☭
Сообщений: 72991
Спасибо, collate помог.
7 ноя 13, 14:44    [15091156]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить