powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / IB5.5 - Помогите подобрать функцию
22 сообщений из 22, страница 1 из 1
IB5.5 - Помогите подобрать функцию
    #32597481
LizaX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
InterBase5.5. Имеется поле таблицы, тип данных - VARCHAR(150).
Помогите, пожалуйста, подобрать функцию которая возвратила бы 8 конечных знаков из каждой строки.
Пример строки:
№дог.0096_Кооператив "Темп"_кафе_75365194_1605334_
Пробовала такой запрос:
SELECT substr(networkitemname,strlen(networkitemname),-8)
from networkitem where networkitemname like '№%'
Возвращает <null> во всех строках.
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597512
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Леся, ты немного неправильно используешь substr(s, n_from, n_to).
2-й параметр у неё - номер начального символа,
3-й - номер конечного.
Так что, нужно подставить примерно следующее:
Код: plaintext
substr(networkitemname, strlen(networkitemname)- 7 , strlen(networkitemname))
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597549
LizaX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да, действительно получила результат. Только вместо 1958 записей вернулось всего 14. И как избавиться от подчеркивания в конце?
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597565
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А оно есть во всех результирующих записях?
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597614
LizaX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Да.
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597632
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну и уменьши ему хвостик на единичку.
Код: plaintext
substr(networkitemname, strlen(networkitemname)- 7 , strlen(networkitemname)- 1 )
Трудно?
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597659
LizaX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Голова после обеда плохо соображает. Конечно не трудно.
Но почему же только 14 записей? /Прошу прощения за настойчивость/
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597672
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Видимо остальные не начинаются с символа ,
как это записано в условии WHERE.
Может там присутсвует другой символ?
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597689
LizaX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Запрос
select count(*)
from networkitem where networkitemname like '№%'
возвращает 1958. Надо поэксперементировать.
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597698
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ну, тогда ты не все записи (извините за выражение) отфетчила. Чем добираешься до базы/проверяешь число записей?
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597755
LizaX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
IB Expert-ом
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597823
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А нажимаешь "двойную" зеленую стрелочку или "одинарную"?
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597864
LizaX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
При выполнении "Execute and Fetch all" выпадает сообщение:

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.
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597881
Фотография mv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Очень предполагаю, что дело в данных.

Найди строки, начинаю с который возникает глюк. Для этого нажав "одинарную" зеленую стрелку, медленно-медленно делаем скроллинг вниз. Строка, следующая за последней отображенной правильно - и будет твоя. Запомни место, убери из запроса

Код: plaintext
substr(networkitemname, strlen(networkitemname)- 7 , strlen(networkitemname))
и повтори операцию. Результаты - в студию (Righ-click - копировать строку в буфер обмена и т.д.)

- думаю, тебе имеет смысл еще анализировать реальную длину строки. Может быть.
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32597984
vis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
а если так:

Код: plaintext
1.
SELECT networkitemname
FROM networkitem WHERE strlen(networkitemname)< 7 
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32599166
LizaX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
visа если так:

Код: plaintext
1.
SELECT networkitemname
FROM networkitem WHERE strlen(networkitemname)< 7 


Не подходит, потому, что задача - выделить из строки восемь конечных знаков и отбросить последний. А ты предлагаеш вернуть строки, длинна которых меньше чем 7.
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32599170
vis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
LizaX visа если так:

Код: plaintext
1.
SELECT networkitemname
FROM networkitem WHERE strlen(networkitemname)< 7 


Не подходит, потому, что задача - выделить из строки восемь конечных знаков и отбросить последний. А ты предлагаеш вернуть строки, длинна которых меньше чем 7.

вот именно, чтобы узнать их кол-во
а точнее:
Код: plaintext
1.
SELECT count(*)
FROM networkitem WHERE strlen(networkitemname)< 7 
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32599269
LizaX
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Колличество таких строк - 0. Но у меня в условии присутствует поиск по шаблону like'№% '. Возможно, дело в данных (смотри советы mv) . Я пробовала исключать из поиска строки, на которых поиск прерывается. Но таким методом далеко не уедеш. Придется много исключать.
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32602188
vis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
по свободе почитал ещё раз топик
я вижу один ответ - какая-то строка, которая начинается с № короче 7 сиволов

проблема ещё актуальна?
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32602550
Фотография Johnmen
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
>проблема ещё актуальна?

Нет

...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32602591
vis
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
ну и ладно

ЗЫ. А ты симпатишный :)
...
Рейтинг: 0 / 0
IB5.5 - Помогите подобрать функцию
    #32602653
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Johnmen>проблема ещё актуальна?

Нет
...
Рейтинг: 0 / 0
22 сообщений из 22, страница 1 из 1
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / IB5.5 - Помогите подобрать функцию
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]