powered by simpleCommunicator - 2.0.59     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Поиск по маске
10 сообщений из 10, страница 1 из 1
Поиск по маске
    #38869772
13eksa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Такая задача - необходимо написать хранимую процедуру для проверки корректного ввода строки - она должна соответствовать маске. Маска может быть например "SSSS" - значит введенная строка должна состоять из четырех латинских букв, "99999" - из пяти цифр соответственно. Подскажите пожалуйста как это реализовать
...
Рейтинг: 0 / 0
Поиск по маске
    #38869774
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
лабораторная работа?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Поиск по маске
    #38869796
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13eksaПодскажите пожалуйста как это реализовать
Прочитав doc\sql.extensions\README.similar_to.txt или
Release
Notes

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Поиск по маске
    #38869810
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
Create procedure check_mask (stroka varchar(100), maska varchar(100))
returns (rezultat varchar(100)) as
begin
  if (stroka similar to
      replace(replace(maska,'S','[:ALPHA:]'),'9','[:DIGIT:]')) then
     rezultat = 'ништяк';
  else
     rezultat = 'хрень';
end
...
Рейтинг: 0 / 0
Поиск по маске
    #38870292
13eksa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
используется версия firebird 1.5 - в этом и сложность, использовать similar to нет возможности
...
Рейтинг: 0 / 0
Поиск по маске
    #38870342
Фотография Симонов Денис
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13eksa,

тогда пиши UDF. В полторашке со встроенными функциями туго. Или препод про это не рассказывал?

Можно конечно извратиться и функцией SUBSTRING вытаскивать по одному символу шаблона и исходной строки и проверять посимвольно, но производительность будет ужасной.

Если эта не лаба, то проверяй на клиенте.
...
Рейтинг: 0 / 0
Поиск по маске
    #38870359
MrCat
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Для строк работает оператор сравнения. Можно прикинуть по маске минимальное значение поля (например, для 99S это будет 00А), и начать формировать выборку с него. Это немного сэкономит время, если маски не начинаются со *(любой символ в любом количестве).
...
Рейтинг: 0 / 0
Поиск по маске
    #38870404
13eksa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
и как должна выглядеть эта UDF?
...
Рейтинг: 0 / 0
Поиск по маске
    #38870414
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
13eksa,

например так
http://www.ibase.ru/download/safeudf.zip
если база юникодная, то см. в конце пример udf
http://www.ibase.ru/unicode_faq.htm
...
Рейтинг: 0 / 0
Поиск по маске
    #38870417
13eksa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Спасибо, буду разбираться
...
Рейтинг: 0 / 0
10 сообщений из 10, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Поиск по маске
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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