![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Преобразование типов в запросе и разбиение строки [D7, FireBird 1.5.3]
pavel_guzhanov © (2007-08-16 13:24:00)Подскажите пожалуйста по двум вопросам:
1. Как в запросе преобразовать тип возвращаемого значения?
например, мне надо выполнить такой запрос:
select (select field1 from table1)+'Иванов'+Field2 from Table2
Запрос в скобках возвращает ОДНО значение типа Integer, а Field2 из таблицы Table2 - Varchar. Как мне сделать, чтобы результат запроса, который в скобках, воспринимался как строка?
2. Есть ли в FireBird функция для разбивки строк на части? Ноапимер, в таблице ФИО содержится в одном поле, а требуется в другую таблицу раскидать по разным полям фамилию, имя и отчество. Иначе говоря, есть ли аналоги функций copy, pos, и delete?
pavel_guzhanov (2007-08-16 16:39:00) [1]Да, действительно... Написал dll с тремя udf на delphi, и все нормально работает.
Спасибо еще раз за помощь.
Desdechado (2007-08-16 13:46:00) [2]Ничто не мешает сделать еще одну DLL, на Дельфи.
pavel_guzhanov (2007-08-16 13:38:00) [3]Спасибо огромное, пункт 1 заработал!
по пункту 2. У нас есть своя dll с udf. Придется отыскать ее исходники и добавить функции... Геморно, конечно, ибо Си я уже сильно подзабыл, а dll именно на си.
Спасибо еще раз за помощь.
Desdechado (2007-08-16 13:33:00) [4]1. Конкатенация строк ||, а не плюсом.
1а. CAST( x AS VARCHAR )
2. Для твоей версии - UDF использовать.