Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Базы";
Текущий архив: 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.049 c
14-1128678203
Труп Васи Доброго
2005-10-07 13:43
2005.10.30
Кто чем может похвалиться?


1-1127581102
Sysanin
2005-09-24 20:58
2005.10.30
Нажатие несколький кнопок


14-1128668966
syte_ser78
2005-10-07 11:09
2005.10.30
ищу книгу


1-1128196844
bva
2005-10-02 00:00
2005.10.30
Создание таблицы в Excel


8-1117729988
sashik
2005-06-02 20:33
2005.10.30
OenGL





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский