Форум: "Базы";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
ВнизДлина строки в Firebird 1.5 Найти похожие ветки
← →
Rule © (2005-09-20 16:23) [0]необходима функция длины строки, ну допустим чтоб сделать такой запрос select length(field1) from table1 ...
спасибо всем за помощь ...
неужели только УДФ ???
← →
Rule © (2005-09-20 16:24) [1]забыл главное :-))), доки уже перерыл :-)))
← →
Desdechado © (2005-09-20 16:26) [2]ib_udf
← →
Johnmen © (2005-09-20 16:28) [3]Не обязательно удф, но чуть-чуть кода в хп, можно...
← →
Rule © (2005-09-20 16:32) [4]Desdechado © (20.09.05 16:26) [2]
ща поищу, но вроед смотрел ...
← →
Rule © (2005-09-20 16:33) [5]Johnmen © (20.09.05 16:28) [3]
а подтолкнуть на мысль как это сделать ???
← →
Rule © (2005-09-20 16:36) [6]Johnmen © (20.09.05 16:28) [3]
нашел
CREATE PROCEDURE Len (str VARCHAR(100))
RETURNS (len INTEGER) AS
DECLARE VARIABLE pat VARCHAR(100);
BEGIN
len = null;
IF (str IS NULL) THEN EXIT;
pat = "";
len = 0;
WHILE (NOT str LIKE pat) DO BEGIN
pat = pat || "_";
len = len + 1;
END
END
← →
Rule © (2005-09-20 16:36) [7]Desdechado © (20.09.05 16:26) [2]
посмотрел не нашел ???, мож подскажешь ???
← →
Johnmen © (2005-09-20 16:43) [8]Можно ещё так попробовать (не уверен насчет работоспособности параметра в сабстринге для FB1.5):
S - строка
I=1;
C=SUBSTRING(C FROM I FOR 1);
WHILE (C<>"") DO BEGIN
I=I+1;
C=SUBSTRING(C FROM I FOR 1);
END
← →
Rule © (2005-09-20 16:53) [9]Johnmen © (20.09.05 16:43) [8]
ну я думаю так будет дольше ...
← →
Johnmen © (2005-09-20 16:55) [10]>Rule © (20.09.05 16:53) [9]
>ну я думаю так будет дольше ...
Я думаю, что нет.
Да и не важно это - экономить на спичках :)
← →
Desdechado © (2005-09-20 16:58) [11]DECLARE EXTERNAL FUNCTION strlen
CSTRING(4096)
RETURNS INTEGER BY VALUE
ENTRY_POINT "IB_UDF_strlen" MODULE_NAME "ib_udf";
UDF - самое быстрое решение
← →
Rule © (2005-09-20 17:15) [12]Desdechado © (20.09.05 16:58) [11]
спасибо, действительно самое быстрое решение, с этим я согласен ... токо вот в сторедах преимущество, что после восттановления базы не надо опять объявлять внешнюю функцию ...
← →
Андрей Жук © (2005-09-20 17:40) [13]
> токо вот в сторедах преимущество, что после
> восттановления базы не надо опять объявлять внешнюю
> функцию ...
UDF также не нужно опять объявлять
← →
Desdechado © (2005-09-20 17:52) [14]в ХП другое преимущество - права
а с восстановлением проблемы только тогда, когда dll отсутствует
← →
Rule © (2005-09-20 17:59) [15]Андрей Жук © (20.09.05 17:40) [13]
эта имел ввиду что надо наличие длл или со на сервере
← →
Rule © (2005-09-20 18:00) [16]Desdechado © (20.09.05 17:52) [14]
в ХП другое преимущество - права
кстати да, но думаю в данном случае это не актуально
← →
Андрей Жук © (2005-09-20 18:38) [17]
> эта имел ввиду что надо наличие длл или со на сервере
ib_udf - в штатной поставке firebird/interbase
← →
Rule © (2005-09-20 19:04) [18]Андрей Жук © (20.09.05 18:38) [17]
эт я знаю, опять жеж шла речь не о конекретно этой удф, а о целесообразности подключать удф или писать сторед ...
Страницы: 1 вся ветка
Форум: "Базы";
Текущий архив: 2005.10.30;
Скачать: [xml.tar.bz2];
Память: 0.48 MB
Время: 0.04 c