powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / шаблон LIKE
17 сообщений из 17, страница 1 из 1
шаблон LIKE
    #39687603
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день!
Строка может состоять из цифр и заглавных английских букв
Как написать проверку LIKE
Проверка ниже срабатывает для англ букв в любом регистре (возвращает 1 )
Код: sql
1.
2.
3.
4.
5.
6.
declare @val varchar(100)
        select @val='aaaa123'
        if (@val LIKE '%[0-9A-Z]%' and not @val LIKE '%[^0-9A-Z]%' )
           select 1 
        else
            select 0


Спасибо!
...
Рейтинг: 0 / 0
шаблон LIKE
    #39687605
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vooo,

почитайте про collate
...
Рейтинг: 0 / 0
шаблон LIKE
    #39687606
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
vooo,

COLLATE Latin1_General_CI_AS
...
Рейтинг: 0 / 0
шаблон LIKE
    #39687608
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK, спасибо!
...
Рейтинг: 0 / 0
шаблон LIKE
    #39687609
Посетитель
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK,

CI - разве не Insensitive?
...
Рейтинг: 0 / 0
шаблон LIKE
    #39687610
TaPaK
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ПосетительTaPaK,

CI - разве не Insensitive?
нисомненно

Latin1_General_CS_AS
...
Рейтинг: 0 / 0
шаблон LIKE
    #39687652
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
TaPaK Посетитель спасибо
...
Рейтинг: 0 / 0
шаблон LIKE
    #39690606
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Подниму тему
Вот пример когда возвращается 1 (кейс пройден) , что то не докрутил (хотя буквы в нижнем регистре)
Повторю - должны проходить (1) только заглавные английские и цифры , в противном случае 0
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
declare @val varchar(100)
        select @val='d4' ----возвращает 1  (некорректно)
        select @val='w1'  ----возвращает 1 (некорректно)
       select @val='a1' -----возвращает 0 (корректно)
        if (@val COLLATE Latin1_General_CS_AS LIKE '%[0-9A-Z]%' and not @val COLLATE Latin1_General_CS_AS LIKE '%[^0-9A-Z]%' )
        
            select 1 
        else
            select 0


Подскажите что не так
Спасибо!
...
Рейтинг: 0 / 0
шаблон LIKE
    #39690608
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
if (@val COLLATE Latin1_General_CS_AS LIKE '%[0-9A-Z]%' and not @val COLLATE Latin1_General_CS_AS LIKE '%[^0-9A-Z]%' )



что за масло масляное?
...
Рейтинг: 0 / 0
шаблон LIKE
    #39690614
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One а как правильно записать условие чтобы могла попадать заглавная англ буква или цифра и никакой другой символ кроме перечисленных? Запутался)
...
Рейтинг: 0 / 0
шаблон LIKE
    #39690618
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
оставьте одно условие какое-либо условие , для логики понимания выполните их отдельно (2-е у вас явно неверное, там два отрицания)
...
Рейтинг: 0 / 0
шаблон LIKE
    #39690623
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, мда вообще не работает даже первая Что то не оч понимаю - как написать
...
Рейтинг: 0 / 0
шаблон LIKE
    #39690625
Фотография Konst_One
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
declare @val nvarchar(100)
        select @val=N'd4' ----возвращает 1  (некорректно)
        select @val=N'w1'  ----возвращает 1 (некорректно)
       --select @val=N'a1' -----возвращает 0 (корректно)
        if (@val COLLATE Latin1_General_BIN LIKE N'%[0-9]%' and @val COLLATE Latin1_General_BIN LIKE N'%[A-Z]%' )
            select 1 
        else
            select 0



вам это надо?
...
Рейтинг: 0 / 0
шаблон LIKE
    #39690627
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Konst_One, да Спасибо!
...
Рейтинг: 0 / 0
шаблон LIKE
    #39690633
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Поторопился
Например также проходит проверка для @val=N'DЮ4' (Ю русское) или @val=N'D 4' (с пробелом)
...
Рейтинг: 0 / 0
шаблон LIKE
    #39690638
KRS544
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
        if (@val  COLLATE Latin1_General_BIN NOT LIKE '%[^0-9A-Z]%')
            select 1
        else
            select 0
...
Рейтинг: 0 / 0
шаблон LIKE
    #39690651
vooo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
KRS544,больщое спасибо!
...
Рейтинг: 0 / 0
17 сообщений из 17, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / шаблон LIKE
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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