Наши проекты:
Журнал · Discuz!ML · Wiki · DRKB · Помощь проекту |
||
ПРАВИЛА | FAQ | Помощь | Поиск | Участники | Календарь | Избранное | RSS |
[18.189.182.96] |
|
Данный раздел предназначается для обсуждения вопросов использования баз данных, за исключением составления запросов на SQL. Для этого выделен специальный раздел. Убедительная просьба - соблюдать "Правила форума" и не пренебрегать "Правильным оформлением своих тем". Прежде, чем создавать тему, имеет смысл заглянуть в раздел "Базы данных: FAQ", возможно там уже есть ответ. |
Сообщ.
#1
,
|
|
|
Как решить 35 задание на sql-ex.ru?
Цитата В таблице Product найти модели, которые состоят только из цифр или только из латинских букв (A-Z, без учета регистра). Вывод: номер модели, тип модели. |
Сообщ.
#2
,
|
|
|
Regexp() ?
|
Сообщ.
#3
,
|
|
|
я плохо разбираюсь в regexp..такой запрос у меня не работает
SELECT Product.model, Product.type FROM Product WHERE Product.model LIKE '[0-9]+' OR Product.model LIKE '[a-zA-Z]+' |
Сообщ.
#4
,
|
|
|
а с каких это пор LIKE стал поддерживать регулярки?
Цитата v1m @ я плохо разбираюсь в regexp.. Так разберись хорошо. Иначе за каким хреном ты вообще взялся за тестирование? |
Сообщ.
#5
,
|
|
|
это же обучающий тест, учусь.
Цитата Akina @ а с каких это пор LIKE стал поддерживать регулярки? ааа, ок буду разбираться. Добавлено Как с помощью LIKE можно сделать? |
Сообщ.
#6
,
|
|
|
Цитата v1m @ это же обучающий тест, учусь. Хорошенькое такое "учусь" - просить решение... ну дадут - ведь как не знал, так и останешься в неведении. Цитата v1m @ Как с помощью LIKE можно сделать? Слишком громоздко. Забудь, LIKE не для такой задачи. |
Сообщ.
#7
,
|
|
|
Хорошо... Поменял бд на mysql и заменил like на rlike, не работает. Я правильно регулярное выражение написал?
|
Сообщ.
#9
,
|
|
|
Хватит там и обычного LIKE.
FIELD_NAME NOT LIKE '%[^A-z]%' --не содержит (NOT) символов не из промежутка A-z (^A-z) OR FIELD_NAME NOT LIKE '%[^0-9]%' --не содержит символов не из промежутка 0-9 |
Сообщ.
#10
,
|
|
|
Ярно
Ответ неверный. Пропускаются в названиях из латинских букв символы "№" (char(185)) и "™" (char(153)). |
Сообщ.
#11
,
|
|
|
Цитата Akina @ Ярно Ответ неверный. Пропускаются в названиях из латинских букв символы "№" (char(185)) и "™" (char(153)). Более того, упускаются знак авторского права, символ "зарегестрированный товарный знак" и прочая лабуда. Впрочем, ни "№", ни "™" латинскими буквами не являются. |
Сообщ.
#12
,
|
|
|
Цитата Ярно @ ни "№", ни "™" латинскими буквами не являются. Вот именно. Так что '%[^A-Za-z]%' |
Сообщ.
#13
,
|
|
|
Цитата Akina @ Цитата Ярно @ ни "№", ни "™" латинскими буквами не являются. Вот именно. Так что '%[^A-Za-z]%' Тогда каким боком char(185) и char(153) к промежутку от 65 ('A') до 122 ('z')? Это я поясняю почему не понял суть претензий. Ваша поправка понятна была бы для ситуации с символами, которые таки располагаются между Z и a: []^_'\ Но даже с учетом этого предложенный мной вариант работает: указанные выше символы тоже отфильтровываются. Можно даже так: FIELD_NAME NOT LIKE '%[^a-Z]%' Потому что SQL Server. |