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

Откуда:
Сообщений: 375
Есть таблица со строками, где в словах есть умлаут.

select *
from tof_suppliers like 'LEMF%'
работает

а

select *
from tof_suppliers like 'LEMFÖ%'
не работает

соответственно

select *
from tof_suppliers where sup_brand= 'LEMFÖRDER'
тоже работает

Почему и как с этим бороться?
17 окт 13, 09:30    [14983563]     Ответить | Цитировать Сообщить модератору
 Re: Не ищет умлаут  [new]
verve
Member

Откуда:
Сообщений: 375
Во как! SQL.ru тоже умлаут не понимает
17 окт 13, 09:31    [14983567]     Ответить | Цитировать Сообщить модератору
 Re: Не ищет умлаут  [new]
Glory
Member

Откуда:
Сообщений: 104751
verve
Почему и как с этим бороться?

Наверное потому, что поле tof_suppliers в Уникоде, а символьная контстанта - нет ?
17 окт 13, 09:33    [14983576]     Ответить | Цитировать Сообщить модератору
 Re: Не ищет умлаут  [new]
verve
Member

Откуда:
Сообщений: 375
Неправильно написал

Есть таблица со строками, где в словах есть умлаут.

select *
from tof_suppliers where sup_brand like 'LEMF%'

работает

а

select *
from tof_suppliers where sup_brand like 'LEMFÖ%'

не работает

соответственно

select *
from tof_suppliers where sup_brand= 'LEMFÖRDER'

тоже не работает

Ö - это буква O с умлаутом

Почему и как с этим бороться?
17 окт 13, 09:34    [14983583]     Ответить | Цитировать Сообщить модератору
 Re: Не ищет умлаут  [new]
verve
Member

Откуда:
Сообщений: 375
Glory, но как тогда отписать если латинские символы запрос понимает?
17 окт 13, 09:35    [14983588]     Ответить | Цитировать Сообщить модератору
 Re: Не ищет умлаут  [new]
Glory
Member

Откуда:
Сообщений: 104751
verve
Glory, но как тогда отписать если латинские символы запрос понимает?

У вас поле unicode или нет ?
17 окт 13, 09:36    [14983594]     Ответить | Цитировать Сообщить модератору
 Re: Не ищет умлаут  [new]
verve
Member

Откуда:
Сообщений: 375
nvarchar
17 окт 13, 09:40    [14983609]     Ответить | Цитировать Сообщить модератору
 Re: Не ищет умлаут  [new]
Glory
Member

Откуда:
Сообщений: 104751
verve
nvarchar

Тогда почему символьная константа non-unicode ?
17 окт 13, 09:41    [14983616]     Ответить | Цитировать Сообщить модератору
 Re: Не ищет умлаут  [new]
verve
Member

Откуда:
Сообщений: 375
А как её заставить быть юникодом?
кстати посмотрел cast('Ö%' as nvarchar(60)) выдает O
17 окт 13, 09:45    [14983632]     Ответить | Цитировать Сообщить модератору
 Re: Не ищет умлаут  [new]
Glory
Member

Откуда:
Сообщений: 104751
https://www.sql.ru/faq/faq_topic.aspx?fid=127
17 окт 13, 09:46    [14983636]     Ответить | Цитировать Сообщить модератору
 Re: Не ищет умлаут  [new]
verve
Member

Откуда:
Сообщений: 375
select *
from tof_suppliers where sup_brand like N'LEMFÖ%'


Работает!!!! Спасибо!
17 окт 13, 09:51    [14983655]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить