powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SELECT с LIKE
9 сообщений из 9, страница 1 из 1
SELECT с LIKE
    #32030214
Кирилл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Народ, нужна помощь. Как можно получить данные, где в одном поле значения состоят из 2х слов?
Конструкция select * from tablename where fieldname LIKE '% %' выдает больше, чем 2 слова в поле.
...
Рейтинг: 0 / 0
SELECT с LIKE
    #32030224
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LIKE-ом действительно вроде не получается, надо искать слова в которых только один пробел

как-то так может

...
where patindex('% %' ,fieldname)= datalength(fieldname)-patindex('% %' ,REVERSE(fieldname))+1
...
Рейтинг: 0 / 0
SELECT с LIKE
    #32030227
Кирилл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Результатов это не дало.
Есть такая альтернатива
where CHARINDEX(' ',FIELDNAME,
CHARINDEX(' ',FIELDNAME,CHARINDEX(' ',FIELDNAME)+1)+1)<1, но тоже без результатов
...
Рейтинг: 0 / 0
SELECT с LIKE
    #32030231
Фотография ChA
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
select * from tablename where fieldname like '%[ ]%' AND fieldname NOT LIKE '%[ ]%[ ]%'
Но только в поле не должно внутри двойных пробелов, плюс ведуших и завершающих, но это сделать нетрудно
В общем, как идея...
...
Рейтинг: 0 / 0
SELECT с LIKE
    #32030232
Фотография SergSuper
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
почему не дало и какие тогда должны быть результыты?
начальные и хвостовые пробелы были обрезаны?
...
Рейтинг: 0 / 0
SELECT с LIKE
    #32030341
Кирилл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Serg: спасибо получилось еще вчера, но доступ к инету обрубился и ответить не успел. Я догадался убить завершающие пробелы.
...
Рейтинг: 0 / 0
SELECT с LIKE
    #32030342
Кирилл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
ChA:
Идея хорошая, но как быть если внутри оказалось больше 1 пробела?
...
Рейтинг: 0 / 0
SELECT с LIKE
    #32030364
Фотография ВладимирМ
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Попробуй так


WHERE CharIndex(' ',MyField)>0 AND
CharIndex(' ',LTRIM(SubString(MyField,CharIndex(' ',MyField)+1,LEN(MyField))))=0


Я исхожу из предположения, что нет ведущих и концевых пробелов в поле MyField, если это не так, то следует вместо MyField писать LTIRM(RTRIM(MyField))

Попробую объяснить что я делаю:
1 условие - это факт существования одного пробела
2 условие - это факт отсутствия пробелов после первого, причем те пробелы, которые идут сразу за первым отсекаются.

Для выполнения второго условия я делаю следующее:
а) нахожу номер позиции первого пробела
б) отбрасываю все символы, стоящие ДО найденной позиции
в) отсекаю ведущие нули у отсавшейся строки
г) пытаюсь найти пробел в получившейся строке (если есть, то больше 2 слов в строке)
...
Рейтинг: 0 / 0
SELECT с LIKE
    #32030498
Кирилл
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, тоже работает.
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / SELECT с LIKE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]