powered by simpleCommunicator - 2.0.60     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Интересный и непонятный результат запроса
6 сообщений из 6, страница 1 из 1
Интересный и непонятный результат запроса
    #39713853
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос

Код: plsql
1.
SELECT 1  where (SUBSTRING(N'ңғ', 1, 1)) LIKE '[A-Z, a-z,А-Я, Ё, а-п, р-я, ё, ., -, , 0-9, "]%'



возвращает 1, а как сделать чтобы всё же правильно отрабатывал и возвращал пустоту.
...
Рейтинг: 0 / 0
Интересный и непонятный результат запроса
    #39713871
invm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
roma1975как сделать чтобы всё же правильно отрабатывал и возвращал пустоту.1. Ознакомиться в документации с синтаксисом шаблонов в LIKE, а не придумывать свой собственный.
2. Ознакомившись, понять что проблема из-за выделенного фрагмента:
Код: sql
1.
SELECT 1  where (SUBSTRING(N'ңғ', 1, 1)) LIKE '[A-Z, a-z,А-Я, Ё, а-п, р-я, ё, ., -, , 0-9, "]%'
...
Рейтинг: 0 / 0
Интересный и непонятный результат запроса
    #39713873
AndrF
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Запрос отрабатывает правильно. Достаточно упростить его и становится все понятно:

SELECT '&' where '&' LIKE '[ -,]'
...
Рейтинг: 0 / 0
Интересный и непонятный результат запроса
    #39714180
roma1975
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Здравствуйте.

Вообще я пытаюсь отловить отсутствие казахских букв в строке в запросе, там в запросе казахская н с хвостиком и г с чёрточкой просто так запрос интересно перевёлся на форуме. Так вот, что-то запросом он не отлавливает их отсутствие. И как правильно сделать, чтобы он их поймал отсутствие казахских букв?
...
Рейтинг: 0 / 0
Интересный и непонятный результат запроса
    #39714682
Владимир Затуливетер
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
в like строка наверное тоже юникодная должна быть, т.е. с буквой N.
Попробуйте.
Код: sql
1.
SELECT 1  where (SUBSTRING(N'ңғ', 1, 1)) LIKE N'[A-Z, a-z,А-Я, Ё, а-п, р-я, ё, ., -, , 0-9, "]%'
...
Рейтинг: 0 / 0
Интересный и непонятный результат запроса
    #39714715
iap
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Владимир Затуливетерв like строка наверное тоже юникодная должна быть, т.е. с буквой N.
Попробуйте.
Код: sql
1.
SELECT 1  where (SUBSTRING(N'ңғ', 1, 1)) LIKE N'[A-Z, a-z,А-Я, Ё, а-п, р-я, ё, ., -, , 0-9, "]%'

Во-первых, результат SUBSTRINGа, как уже указали, - символ N'&'.
Во-вторых, зачем в LIKE столько запятых, если достаточно одной, а в данном случае они вообще не нужны?
В-третьих, какой смысл символа '-' между пробелом и запятой? Имелся в виду именно этот символ? Тогда его надо написать в квадратных скобках ('[-]'). Иначе прочитать документацию, как здесь тоже советовали.
В-четвёртых, как оказалось, вопрос вообще связан с казахским алфавитом. Может, заодно и про COLLATE почитать надо?
...
Рейтинг: 0 / 0
6 сообщений из 6, страница 1 из 1
Форумы / Microsoft SQL Server [игнор отключен] [закрыт для гостей] / Интересный и непонятный результат запроса
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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