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

Откуда:
Сообщений: 271
Не могу разобраться в результате запроса
Пишу условие
where Phone like '%0%9%5%8%6%4%4%3%5%6%'
т.к. точно не знаю, как именно указан номер телефона в базе
выгружаются
050 586-97-14,050 586-97-14 050 586-97-14,38050586
095-864-43-56
050-516-58-49,050-516-58-49 050-516-58-49,38050516

Ожидал получить только второй пункт результата. Но почему выгрузились первый и третий, если в like четко указан порядок символов, ? И при этом некоторые символы пренебрегаются в поиске.
30 июн 15, 15:15    [17833247]     Ответить | Цитировать Сообщить модератору
 Re: like возвращает  [new]
Glory
Member

Откуда:
Сообщений: 104751
2viper2viper
четко указан порядок символов, ?

И что
разве тут
050 586-97-14,050 586-97-14 050 586-97-14,38050586
нет последлвательности
0 9 5 8 6 4 4 3 5 6
30 июн 15, 15:17    [17833266]     Ответить | Цитировать Сообщить модератору
 Re: like возвращает  [new]
Кролик-зануда
Guest
2viper2viper,

% означает любое количество любых символов.
все ваши строки отвечают заданному вами условию.
30 июн 15, 15:22    [17833293]     Ответить | Цитировать Сообщить модератору
 Re: like возвращает  [new]
2viper2viper
Member

Откуда:
Сообщений: 271
Glory, но разве like возвращает значение без обязательного наличия всех указанных символов в строго указанной последовательности?
Почему он пренебрег некоторыми символами, вернув значение при совпадении только части маски?
30 июн 15, 15:25    [17833305]     Ответить | Цитировать Сообщить модератору
 Re: like возвращает  [new]
Glory
Member

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

Еще раз
В 050 586-97-14,050 586-97-14 050 586-97-14,38050586
есть все указанные вами символы и именно в указанном вами порядке

050 586-97-14,050 586-97-14 050 586-97-14,38050586
30 июн 15, 15:27    [17833320]     Ответить | Цитировать Сообщить модератору
 Re: like возвращает  [new]
o-o
Guest
2viper2viper,

написали же, % означает любое число любых символов.
если написать where Phone like '095%' это 095вхфйквхфдййбдйбд
а если where Phone like '%0%9%5%'
это например кфнсдкбф0й,фйм,в9ндфвдфмв5дфвдф
30 июн 15, 15:29    [17833329]     Ответить | Цитировать Сообщить модератору
 Re: like возвращает  [new]
2viper2viper
Member

Откуда:
Сообщений: 271
Glory
2viper2viper
Glory, но разве like возвращает значение без обязательного наличия всех указанных символов в строго указанной последовательности?

Еще раз
В 050 586-97-14,050 586-97-14 050 586-97-14,38050586
есть все указанные вами символы и именно в указанном вами порядке

050 586-97-14,050 586-97-14 050 586-97-14,38050586


минутный ступор преодолен. Спасибо за выделенные символы, конечно, запрос выполнен правильно
Сорри за такой банальный вопрос
30 июн 15, 15:32    [17833351]     Ответить | Цитировать Сообщить модератору
 Re: like возвращает  [new]
ЦБ
Member [заблокирован]

Откуда:
Сообщений: 2773
2viper2viper
Не могу разобраться в результате запроса
Пишу условие
where Phone like '%0%9%5%8%6%4%4%3%5%6%'
т.к. точно не знаю, как именно указан номер телефона в базе
выгружаются
050 586-97-14,050 586-97-14 050 586-97-14,38050586
095-864-43-56
050-516-58-49,050-516-58-49 050-516-58-49,38050516

Ожидал получить только второй пункт результата. Но почему выгрузились первый и третий, если в like четко указан порядок символов, ? И при этом некоторые символы пренебрегаются в поиске.

с 3-ей строкой что-то не "чисто" ... или ТС врёт :)
select 1
where '050 586-97-14,050 586-97-14 050 586-97-14,38050586' like '%0%9%5%8%6%4%4%3%5%6%'

select 1
where '050-516-58-49,050-516-58-49 050-516-58-49,38050516' like '%0%9%5%8%6%4%4%3%5%6%'


-----------
1

(1 row(s) affected)


-----------

(0 row(s) affected)
30 июн 15, 15:34    [17833360]     Ответить | Цитировать Сообщить модератору
 Re: like возвращает  [new]
2viper2viper
Member

Откуда:
Сообщений: 271
ЦБ, ну, прям радикальное "врет" :)
Конечно, номера немного изменил, чтобы не светить на форуме
Но при этом на ошибку в моих размышлениях указали. Спасибо за это
1 июл 15, 17:47    [17839488]     Ответить | Цитировать Сообщить модератору
Все форумы / Microsoft SQL Server Ответить