![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Interbase. Шаблон в процедуре для заполнения нулями до нуж. длины [D5, IB5.x]
The X © (2004-02-27 10:30:00)Добрый день, ув. Мастера!
Значит так, мне надо преобразовать вывод данных строкового типа с помощью строковой функции в процедуре Interbase.
Пример:
Данные в таблице | Нужный вид строки
---------------------------------
1 |000001
2 |000002
10 |000010
150 |000150
123569 |123569
---------------------------------
Т.е. с помощью строковой функции нужно дополнить исходную строку нулями до указанной длины. Здесь длина 6. Я нашел ф-цию LPAD - она добавляет дополнительные строки слева, но Interbase в UDF не поддерживает эту ф-цию.
Посоветуйте, кто чего знает.
С ув. The X.
Карелин Артем (2004-02-27 15:04:00) [1]Как я понял из SQL.RU надо на клиенте дельфовском это дело.
Johnmen (2004-02-27 14:52:00) [2]Хм... LizaX :)))
VLAD-MAL (2004-02-27 12:19:00) [3]Interbase в UDF не поддерживает эту ф-цию.
Это как? Что, исходников нету, что ли?
А если самому написать?
А вообще нафиг такой гемор на серваке, если не секрет?
Карелин Артем (2004-02-27 10:55:00) [4]Если клиен на дельфи писан, то DisplayFormat св-во у поля.
Johnmen (2004-02-27 10:53:00) [5]>The X © (27.02.04 10:47) [5]
1. Берешь библиотеку из поставки IB ib_udf.dll, или бесплатную, но весьма грамотную, rfunc.dll.
2. Попробуй сначала п.1, как наиболее простой и быстрый. (Ну лень мне...:))
3. Самый долгий, но самый верный. Не знаю подробностей, ничего не посоветую...
The X (2004-02-27 10:47:00) [6]Johnmen ©
Если можно, поподробнее по каждому из пунктов.
ГОРЮ!!!
Спасибо огромное!!!
The X (2004-02-27 10:47:00) [7]Карелин Артем ©
Как?
Карелин Артем (2004-02-27 10:46:00) [8]На клиенте сделать нужный формат вывода.
The X (2004-02-27 10:44:00) [9]Спасибо!
Какие еще предложения?
Johnmen (2004-02-27 10:44:00) [10]1. Взять UDF из нормальной библиотеки.
2. Извращенческий способ (если надо, приведу).
3. Пересмотреть концепцию целиком, чтобы не надо было вообще делать такую ерунду...
Карелин Артем (2004-02-27 10:40:00) [11]Пиши хранимую процедуру, в которой будет что-то типа:
if (i>9 and i<100) then s='0000'||cast (i as varchar(2))