powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Команда Like %
10 сообщений из 10, страница 1 из 1
Команда Like %
    #39845267
Jonsnow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Всем доброго времени суток
Вопрос такой
Необходимо найти в таблице в определённой колонне
4 первые цифры остальное буква либо буквы
Делаю так
Код: sql
1.
Like '[0-9][0-9][0-9][0-9][A-Z]%' and like '[0-9][0-9][0-9][0-9][a-z]%'



Может есть другой способ?
Все бы хорошо, но вместе с буквами находит ещё и точки запятые
А необходимы только 4 первые цифры остальные буквы

Если есть идеи пишите пожалуйста

С Уважением
...
Рейтинг: 0 / 0
Команда Like %
    #39845280
Фотография alexeyvg
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Jonsnow
Код: sql
1.
Like '[0-9][0-9][0-9][0-9][A-Z]%' and like '[0-9][0-9][0-9][0-9][a-z]%'


Все бы хорошо, но вместе с буквами находит ещё и точки запятыеНе только "точки запятые", у вас вообще не фильтруется после 5-го символа.
Jonsnow4 первые цифры остальное буква либо буквы
Наверное, без подстроки не обойтись:
Код: sql
1.
2.
3.
select *, substring(field, 5, 8000)
from (select '1234asd7fg' as field union all select '1234asdfg' as field) t
where field Like '[0-9][0-9][0-9][0-9]%' and substring(field, 5, 8000) not like '%[^a-z]%'
...
Рейтинг: 0 / 0
Команда Like %
    #39845296
Jonsnow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
alexeyvg,

Спасибо большое, вроде все работает

Но бывают рекорды по типу только цифры
Исключить тоже
Вот формат
[****^]
* 4 цифры
^ буква либо буквы

А у меня ещё находит
[****] + [****^]
Необходимо только [****^]
...
Рейтинг: 0 / 0
Команда Like %
    #39845298
Jonsnow
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
добавил ещё условие
Код: sql
1.
not like ‘[0-9][0-9][0-9][0-9]’


Спасибо
...
Рейтинг: 0 / 0
Команда Like %
    #39845304
-- KAB --
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
JonsnowВсем доброго времени суток
Вопрос такой
Необходимо найти в таблице в определённой колонне
4 первые цифры остальное буква либо буквы
Делаю так
Код: sql
1.
Like '[0-9][0-9][0-9][0-9][A-Z]%' and like '[0-9][0-9][0-9][0-9][a-z]%'



Может есть другой способ?
Все бы хорошо, но вместе с буквами находит ещё и точки запятые
А необходимы только 4 первые цифры остальные буквы

Если есть идеи пишите пожалуйста

С Уважением

Код: sql
1.
Like '[0-9][0-9][0-9][0-9][0-9,A-Z]%'
...
Рейтинг: 0 / 0
Команда Like %
    #39845306
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-- KAB --
Код: sql
1.
Like '[0-9][0-9][0-9][0-9][0-9,A-Z]%'

Это неправильно по десятку причин.
JonsnowНо бывают рекорды по типу только цифры
Исключить тоже
Вот формат
[****^]
* 4 цифры
^ буква либо буквы

А у меня ещё находит
[****] + [****^]
Необходимо только [****^]Вы не могли бы перейти на русский язык и последовательно написать, что же вам надо?
...
Рейтинг: 0 / 0
Команда Like %
    #39845312
-- KAB --
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap-- KAB --
Код: sql
1.
Like '[0-9][0-9][0-9][0-9][0-9,A-Z]%'

Это неправильно по десятку причин.
JonsnowНо бывают рекорды по типу только цифры
Исключить тоже
Вот формат
[****^]
* 4 цифры
^ буква либо буквы

А у меня ещё находит
[****] + [****^]
Необходимо только [****^]Вы не могли бы перейти на русский язык и последовательно написать, что же вам надо?
Да... вы правы, пока вижу 2 лайка, тупанул )
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare @t table (name varchar(50))
insert @t values
('1234a_'),
('123'),
('1234as4'),
('123as4')

select * from @t where
name not like '%[^0-9,A-Z]%' and name like '[0-9][0-9][0-9][0-9]%'


Впрочем тоже самое по сути Гавриленко написал
...
Рейтинг: 0 / 0
Команда Like %
    #39845314
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-- KAB --name not like '%[^0-9,A-Z]%'Во-первых, зачем там запятая?
Во-вторых, для разных COLLATE один и тот же диапазон - это разный набор символов.
В-третьих, нужны все буквы, а у вас только строчные. А если COLLATE регистрозависимый?
И т.д.
...
Рейтинг: 0 / 0
Команда Like %
    #39845320
-- KAB --
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
iap-- KAB --name not like '%[^0-9,A-Z]%'Во-первых, зачем там запятая?
Во-вторых, для разных COLLATE один и тот же диапазон - это разный набор символов.
В-третьих, нужны все буквы, а у вас только строчные. А если COLLATE регистрозависимый?
И т.д.

В четвертых если буквы арабские или китайские? )
PS: действительно запятая лишняя, коллейт... в регистрозависимых апперкейз добавить да... или проверять и нижний и верхний регистрый. А вот И т.д. для меня не понятно - разве что не указан язык иврит или набиру
...
Рейтинг: 0 / 0
Команда Like %
    #39845340
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
-- KAB --,

китайских букв не бывает!
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Команда Like %
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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