powered by simpleCommunicator - 2.0.49     © 2025 Programmizd 02
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Вывод определённого количества символов, после определённого выражения
9 сообщений из 9, страница 1 из 1
Вывод определённого количества символов, после определённого выражения
    #38229197
YaMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Доброе время суток!

в таблице есть поле "Список документов". Нужно выделить номер одного из документов. Он имеет определённую длину в 10 символов и стоит после определённой фразы.
поле "Список документов" выглядит примерно так
"<текст любой длинны> накладная № FG00012345 <текст любой длинны>"
То есть нужно выводить 10 последующих символов после фразы "накладная №"
Как это сделать с помощью SQL запроса?
Спасибо
...
Рейтинг: 0 / 0
Вывод определённого количества символов, после определённого выражения
    #38229235
YaMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Забыл уточнить. Накладных может быть несколько.
"<текст любой длинны> накладная № FG00012345 <текст любой длинны> накладная № FG00012346 <текст любой длинны> "
В этом случае нужно выводить FG00012345 FG00012346
...
Рейтинг: 0 / 0
Вывод определённого количества символов, после определённого выражения
    #38229365
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YaMaxТоесть нужно выводить 10 последующих символов после фразы "накладная №"
Как это сделать с помощью SQL запроса?

Код: sql
1.
2.
SELECT $EXTRACT($PIECE(somefield,'накладная №',1),1,10)
FROM sometable



YaMaxВ этом случае нужно выводить FG00012345 FG00012346

Эм... не знаю, ограничится каким то реальным значением, то есть если длина поля 1000 - то мало вероятно что в нем будет более 10-ти накладных

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
SELECT 
STRING(
ISNULL($EXTRACT($PIECE(somefield,'накладная №',1),1,10),''),';',
ISNULL($EXTRACT($PIECE(somefield,'накладная №',2),1,10),''),';',
ISNULL($EXTRACT($PIECE(somefield,'накладная №',3),1,10),''),';',
ISNULL($EXTRACT($PIECE(somefield,'накладная №',4),1,10),''),';',
ISNULL($EXTRACT($PIECE(somefield,'накладная №',5),1,10),''),';',
ISNULL($EXTRACT($PIECE(somefield,'накладная №',6),1,10),''),';',
ISNULL($EXTRACT($PIECE(somefield,'накладная №',7),1,10),''),';'
) as NumberList,
$LENGTH(somefield,'накладная №') as NumberCount
FROM sometable
...
Рейтинг: 0 / 0
Вывод определённого количества символов, после определённого выражения
    #38229460
YaMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ptn,

Спасибо. Да, накладных, максимум 4 шт. Так что не много.
Только вот он на 1-м месте выгружает первые 10 символов, а потом уже номера накладных. Как это убрать? Мне потом по этому полю группировку надо будет делать, помешает подсчетам...
...
Рейтинг: 0 / 0
Вывод определённого количества символов, после определённого выражения
    #38229889
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YaMaxв таблице есть поле "Список документов"
...
поле "Список документов" выглядит примерно так
"<текст любой длинны> накладная № FG00012345 <текст любой длинны>"
Выкинуть такое хранение сразу! И сделать нормальное. Только после этого таки использовать sql...
...
Рейтинг: 0 / 0
Вывод определённого количества символов, после определённого выражения
    #38229988
Ptn
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
YaMaxТолько вот он на 1-м месте выгружает первые 10 символов, а потом уже номера накладных. Как это убрать?

А ну да, затупил - нужно начинать со второго элемента, а не с первого

YaMaxКак это убрать?

1 Прочитать что такое $piece - хотя бы просто вбить в поиск документации
2 Понять что раз номер документа следует после указанного разделителя, то нужны выбирать подстроки разделенные "накладная №" начиная со второй, а не с первой
...
Рейтинг: 0 / 0
Вывод определённого количества символов, после определённого выражения
    #38229995
Фотография krvsa
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PtnЭм... не знаю, ограничится каким то реальным значением, то есть если длина поля 1000 - то мало вероятно что в нем будет более 10-ти накладных
Сделать хранимую процедуру - пусть она и выбирает что нужно... Но это все равно ерунда, а не хранение.
К Бредятина на перевоспитание однозначно! Со сдачей экзамена по Хэ-мажик...
...
Рейтинг: 0 / 0
Вывод определённого количества символов, после определённого выражения
    #38230582
YaMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
krvsa,

Я бы с радостью )) Но это не от меня зависит... И это не самая большая проблема )
...
Рейтинг: 0 / 0
Вывод определённого количества символов, после определённого выражения
    #38230590
YaMax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Ptn,

Спасибо, вроде работает )
...
Рейтинг: 0 / 0
9 сообщений из 9, страница 1 из 1
Форумы / Caché, Ensemble, DeepSee, MiniM, IRIS, GT.M [игнор отключен] [закрыт для гостей] / Вывод определённого количества символов, после определённого выражения
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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