Не работает ISDIGIT из CaseUDF на FB 2.1.3

Запросы, планы, оптимизация запросов, ...

Модераторы: kdv, CyberMax

Ответить
Alex Prodigy
Сообщения: 17
Зарегистрирован: 25 янв 2006, 05:33

Не работает ISDIGIT из CaseUDF на FB 2.1.3

Сообщение Alex Prodigy » 26 мар 2010, 04:39

Привет всем!
Сейчас использую Yaffil Classic 892.
Понадобилась функция типа ISDIGIT в хранимых процедурах.
В Yaffil'е она встроенная и прекрасно работает.
Но в самом ближайшем будущем запланирован переход на Firebird 2.1.3, а там такой функции почему-то не оказалось :(
Скачал CaseUDF, подключил ISDIGIT, а она всегда возвращает 0, какой бы я ей параметр ни задавал...
Проверялось на Yaffil'е (на всякий случай) и на FB. Результат один.

Почему так происходит, непонятно, т.к. и функция довольно простая, и другие функции из этой UDF работают нормально.

У кого какие мысли по этому поводу?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Не работает ISDIGIT из CaseUDF на FB 2.1.3

Сообщение kdv » 26 мар 2010, 10:23

помилуйте, 5 лет назад как минимум писалось, я и не вспомню, что такое StrToIntDef, которое используется в этой функции. В дельфях-то isdigit как кусок кода нынче работает?

Alex Prodigy
Сообщения: 17
Зарегистрирован: 25 янв 2006, 05:33

Re: Не работает ISDIGIT из CaseUDF на FB 2.1.3

Сообщение Alex Prodigy » 29 мар 2010, 03:04

Хм, в Delphi функция StrToIntDef при входящем PChar не работает из-за того, что Char засылается, а не VarChar, т.е. куча пробелов после числа...
С помощью Trim проблема была устранена :)
А вообще что скажете по функции ISDIGIT? Будет ли она реализована в FB2+ или придётся всё же использовать UDF?

P.S. Я вообще думал, что все функции Yaffil'а были перенесены в FB. Оказывается, это не так... Почему?

kdv
Forum Admin
Сообщения: 6595
Зарегистрирован: 25 окт 2004, 18:07

Re: Не работает ISDIGIT из CaseUDF на FB 2.1.3

Сообщение kdv » 29 мар 2010, 10:01

Я вообще думал, что все функции Yaffil'а были перенесены в FB. Оказывается, это не так... Почему?
потому что разработчики ФБ посчитали нужным не все, или не так.
А вообще что скажете по функции ISDIGIT? Будет ли она реализована в FB2+ или придётся всё же использовать UDF?
в 2.5 есть SIMILAR TO, читайте release notes. Там и "аналог" isdigit, и много чего другого.

Alex Prodigy
Сообщения: 17
Зарегистрирован: 25 янв 2006, 05:33

Re: Не работает ISDIGIT из CaseUDF на FB 2.1.3

Сообщение Alex Prodigy » 29 мар 2010, 11:37

kdv писал(а):
А вообще что скажете по функции ISDIGIT? Будет ли она реализована в FB2+ или придётся всё же использовать UDF?
в 2.5 есть SIMILAR TO, читайте release notes. Там и "аналог" isdigit, и много чего другого.
Переход пока планируется до 2.1.3, дальше видно будет :)

Спасибо за быстрые ответы.

P.S. Вопрос исчерпан.

Ответить