Модераторы: Akella
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> UDF для удаления из строки символов (по маске), как сравнить строки без спец. символов 
V
    Опции темы
sergey_85
Дата 14.7.2009, 08:04 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 17.4.2007
Где: Россия, Челябинск

Репутация: нет
Всего: 1



Привет!

Использую FireBird 2.1.

Есть задача нужно по заводским номерам сравнить в базе кучу приборов принятых и из черного списка.

у этих списков есть одно общее - заводской номер прибора, его тип 

Одна проблема - оператор like не прокатит т.к. в номерах присутствуют и пробелы и знаки , / *
(в основном пробелы) но основной номер это цифры и буквы, так что я хочу убрать ненужные символы (пробелы, \,?,* и прочее), перевести в нижний регистр и сравнить все это!  

Есть ли udf для удаления из строки символов по маске?

Спасибо!


--------------------
A good design always pays off.
PM MAIL   Вверх
sergey_85
Дата 14.7.2009, 10:22 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 445
Регистрация: 17.4.2007
Где: Россия, Челябинск

Репутация: нет
Всего: 1



Сделал так
Код

1 - заменил все символы по маске на пробелы с помощью UDF ConvertSymbols

////////////
ConvertSymbols(s1, s2, s3) из библиотеки  функций rFunc (версия 2.1.3 RC)    
Меняет символы из набора s2 на набор s3 в строке s1

Пример:
ConvertSymbols('1+2=3', '123', 'abc') = 'a+b=c'
////////////////

2 - далее стандартная udf replace заменил все пробелы (' ') на пусто ('')
3 - сравнил и сделал что хочу


Это сообщение отредактировал(а) sergey_85 - 14.7.2009, 10:25


--------------------
A good design always pays off.
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Правила форума "Interbase"
Alex

Обязательно указание:

1. Версию InterBase (Firebird, Yaffil)

2. Способа доступа (ADO, BDE, IBX и т.д.)

  • КАК ПРАВИЛЬНО ОФОРМИТЬ КОД - ЗДЕСЬ
  • КАК ПРАВИЛЬНО УКАЗАТЬ ТЕКСТ ОШИБКИ - ЗДЕСЬ
  • Действия модераторов можно обсудить здесь
  • С просьбами о написании курсовой, реферата и т.п. обращаться сюда
  • FAQ раздела лежит здесь!

Если Вам понравилась атмосфера форума, заходите к нам чаще! С Уважением, Akella.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Firebird, Interbase | Следующая тема »


 




[ Время генерации скрипта: 0.0444 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.