Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Проблема исспользования строковых ф-ций в SQL-запросе [IB5.x]


Страницы:   1 2

LizaX ©   (2004-07-12 11:44:00) 

Уважаемые мастера, помогите, пожалуйста, решить следующую проблему.
InterBase5.5. Имеется поле таблицы, тип данных - VARCHAR(150).
Нужно из строки выделить 8 последних знаков, и убрать последний.
Пример строки:
№дог.0096_Кооператив "Темп"_кафе_75365194_1605334_Применяю такой запрос:
SELECT networkitemid, substr(networkitemname, strlen(networkitemname)-7, strlen(networkitemname)-1)
from networkitem where networkitemname like '№%'

При выполнении в IB EXPERT выпадает сообщение:
Unsuccessful execution caused by system error that does not preclude successful execution of subsequent statements.
A fatal exception occurred during the execution of a user defined function.
arithmetic exception, numeric overflow, or string truncation.

и на выходе получаю 14 строк вместо 1958.


Reindeer Moss Eater   (2004-07-12 12:08:00) [21]

и на выходе получаю 14 строк вместо 1958.
А что у нас в строке 15?


LizaX   (2004-07-12 12:07:00) [22]


> какой ужас...нельзя было это нормальными сушностями представить?

Если бы было по другому представлено, то я бы советов не просила.


Курдль   (2004-07-12 12:07:00) [23]

Мне кажется, что в последнее время каждый автор вопросов норовит что-то скрыть... :(
LizaX ©   (12.07.04 11:44), не могли бы Вы пояснить, что за бизнес-процесс такой? Зачем столь замысловатая обработка строки?


LizaX   (2004-07-12 12:05:00) [24]

Таких строк нет. Я проверяла.


Соловьев   (2004-07-12 12:04:00) [25]


> №дог.0096_Кооператив "Темп"_кафе_75365194_1605334

какой ужас...нельзя было это нормальными сушностями представить?


Reindeer Moss Eater   (2004-07-12 11:57:00) [26]

Я не могу понять суть проблемы

А попробуй.
представвь что есть поля где networkitemname is null
или поля where strlen(networkitemname) <= 7


LizaX   (2004-07-12 11:55:00) [27]

Получается, что так. Но исключать всех инвалидов из поиска не реально. Я не могу понять суть проблемы. Как ее победить? Возножно, причина в данных?


Reindeer Moss Eater   (2004-07-12 11:47:00) [28]

и на выходе получаю 14 строк вместо 1958.

То есть пока не встретил первую же запись, для которой аргументы для subst инфалидные.


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо