Главная страница
    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.038 c
1-1128669106
snake_r
2005-10-07 11:11
2005.10.30
Двоичные константы


14-1128479169
КаПиБаРа
2005-10-05 06:26
2005.10.30
Задача про таракана


1-1128521993
Aleksey
2005-10-05 18:19
2005.10.30
Image.Canvas и LineTo


1-1128410081
Alex7
2005-10-04 11:14
2005.10.30
Свойство "color"


14-1128858844
ArtemESC
2005-10-09 15:54
2005.10.30
Алгоритм





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский