powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Разделение одного поля на два
25 сообщений из 34, страница 1 из 2
Разделение одного поля на два
    #39375384
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Добрый день.
Есть 2 таблицы:

Код: sql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
RECREATE TABLE IN_OPLATA (
    OS_R       VARCHAR(10) CHARACTER SET win1251,
    ADR        VARCHAR(35) CHARACTER SET win1251,
    KODSTREET  SMALLINT,
    N_BUD      VARCHAR(5) CHARACTER SET win1251,
    N_KV       VARCHAR(5) CHARACTER SET win1251,
    TARYF_KV   DECIMAL(10,4),
    JEC_NOM    VARCHAR(6) CHARACTER SET win1251
);

RECREATE TABLE IN_OPLATA_WORK (
    OS_R       VARCHAR(10) CHARACTER SET win1251,
    ADR        VARCHAR(35) CHARACTER SET win1251,
    KODSTREET  SMALLINT,
    N_BUD1     SMALLINT,
    N_BUD2     VARCHAR(5) CHARACTER SET win1251,
    N_KV1      SMALLINT,
    N_KV2      VARCHAR(5) CHARACTER SET win1251,
    TARYF_KV   DECIMAL(10,4),
    JEC_NOM    SMALLINT
);




В таблицу IN_OPLATA загружаю данные из ДБФ.
В таблице IN_OPLATA_WORK нужно разделить:
1. Номер дома на цифровое и текстовое значение. т.е. номер дома начинается на цифру, как только находим не цифру - все остальные символы в соседний столбик. In_oplata.n_bud=in_oplata_work.n_bud1+in_oplata_work.n_bud2

Тоже самое нужно сделать с полем N_KV.

Суть вопроса: Можно ли это сделать ХП и если не сложно пример для разделения 1 поля. Второе поле будет точно также.


--------------------------
Firebird 2.5;
Windows 10 32-bit;
4Gb RAM;
SSD 512Mb + HDD 1 Tb;
Настройки по умолчанию
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375386
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushЕсть 2 таблицы:где ключи?
и нахрена юзать SMALLINT ?
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375388
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий,

Про ключи забыл. Я их еще не создал :(
Советы принимаются.
Потом я планирую сделать вот это:
Как определить/получить диапазон
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375394
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
имхо, тут программист нужен (с)
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375395
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushСоветы принимаются.

Заведи себе персональный топег "Моя пупер-база" и храни в нем все свои глупости и мудрые встАвляния.
И не мусори по всему FB...
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375400
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushСуть вопроса: Можно ли это сделать ХП и если не сложно пример для разделения 1 поля. Второе поле будет точно также.


Можно
зы. в цикле посимвольно анализируй строку
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375401
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushВ таблицу IN_OPLATA загружаю данные из ДБФ.
Обработка данных должна быть на этапе загрузки.
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375403
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanОбработка данных должна быть на этапе загрузки.+1
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375408
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanakrushВ таблицу IN_OPLATA загружаю данные из ДБФ.
Обработка данных должна быть на этапе загрузки.
Прям всегда и везде ???

зы. как по мне, то на этапе загрузки никаких (от слова совсем) обработок не должно быть
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375415
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7makrushСуть вопроса: Можно ли это сделать ХП и если не сложно пример для разделения 1 поля. Второе поле будет точно также.


Можно
зы. в цикле посимвольно анализируй строку

Можете подсказать функции для анализа
И можно ли внутри процедуры циклом перебрать посимвольно строку.
По крайней мере в Делфи я бы в переменную прочитал значение столбца, потом посимвольно нашел бы нецифру и запомнил позицию.
Затем в 2 переменные сделал бы копирование: в первую с преобразованием в число от начала до позиции, во вторую остальное.

Это в Делфи, я знаю как.
А как подобное сделать средствами ФБ - еще не умею. :(
Прошу помощи, подсказок в правильном направлении.
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375427
hvlad
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrush,

SUBSTRING
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375432
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushЭто в Делфи, я знаю как.
А как подобное сделать средствами ФБ - еще не умею. :(
Прошу помощи, подсказок в правильном направлении.
Ну так и делай как умеешь и не мучь птичку всякой фигней.
Полюбасу в Дельфи для этого возможностей на порядок больше.

Хошь научу как FB будет за тебя получать ЗП?
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375449
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Di_LIneпропущено...

Ваши комментарии я наблюдаю в ветке ФБ чуть больше месяц.
Я не знаю как другие, но лично я увидел что-то полезное только в 1-3% ваших сообщений.
Это не считаю того что Ваши сообщения не то что понять, их читать невозможно.

Прошу Вас прекратите засорять обсуждение неконструктивными советами и репликами.
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375451
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
hvlad,
Спасибо, пошел читать :)
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375455
Фотография Di_LIne
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushПрошу Вас прекратите засорять обсуждение неконструктивными советами и репликами.
- Обсуждение? Твоих глуполстей?
Ты слишком высокого мнения о себе.
Тебя пинают в нужном направлении, по одному разу кому не лень, как пинд_вина, и всего делов-та...
А тебе лень взять книшку и/или доку и прочитать.
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375482
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Akrush!
You wrote on 26 декабря 2016 г. 16:56:20:

Akrush> Ваши комментарии я наблюдаю в ветке ФБ чуть больше месяц.
> Я не знаю как другие, но лично я увидел что-то полезное только в 1-3% ваших сообщений.
> Это не считаю того что Ваши сообщения не то что понять, их читать невозможно.ты просто ещё не дорос до этой музыки.
(С) Н.Н.Носов

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375541
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7mкак по мне, то на этапе загрузки никаких (от слова совсем) обработок не должно быть
если обработка исключает данные, которые полезут в БД низачем, то обработки должны быть.
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375548
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvесли обработка исключает данные, которые полезут в БД низачем , то обработки должны быть.
расшифруй мысль
ну то что я подчеркнул
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375558
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m,

а что расшифровывать-то? не надо сохранять в БД данные, которые могут быть обработаны или отфильтрованы вне БД.
я такой херней (извините за слово) занимался еще в 2000 году.
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375633
m7m
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvm7m,

а что расшифровывать-то? не надо сохранять в БД данные, которые могут быть обработаны или отфильтрованы вне БД.
я такой херней (извините за слово) занимался еще в 2000 году.

Что-что
"которые полезут в БД низачем"
Одним из вариантов прочтения был и тот который ты написал

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

ззы. Я не исключаю других подходов к решению этого вопроса
но однако действительно, на этапе загрузки, не провожу никакой обработки данных
все что дали один к одному ложится в базу, и только после загрузки проводится:
приведение к нужному виду, контроль, "раскидывание" по таблицам и т.д. и т.п.

И не потому что это правильно и так всегда надо делать, а потому что я к такому привык,
для меня так проще, ибо не надо по каждому изменению в формате загружаемых
данных судорожно менять экзешник отправлять его заказчику....., ну и исторически так сложилось
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375782
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
m7m"Обработка данных должна быть на этапе загрузки."
не оставляющей никаких сомнений, что возможны и другие варианты
Для ТС иных вариантов нет, ибо ХШ чётко сказал, что кодом грузит в одну таблицу.
Так что смысла грузить сервер дополнительной обработкой нет.
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375800
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Хорошо. Если учесть все замечания, то тогда мне разделение на 2 поля нужно делать при Insert'е.
Тогда получается что это нужно делать не ХП, а тригером перед вставкой.
Я правильно понимаю??
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375804
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushТогда получается что это нужно делать не ХП, а тригером перед вставкой.
Я правильно понимаю??
Кто и как вставляет данные из dbf?
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375848
akrush
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadman,

Вставку веду через Делфи используя ФИБы
...
Рейтинг: 0 / 0
Разделение одного поля на два
    #39375849
KreatorXXI
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
akrushwadman,

Хорошо. Если учесть все замечания, то тогда мне разделение на 2 поля нужно делать при Insert'е.
Тогда получается что это нужно делать не ХП, а тригером перед вставкой.
Я правильно понимаю??

Как многие уже отметили, разделение полей нужно делать на клиенте перед Insert. В FB сложновата сия операция.
...
Рейтинг: 0 / 0
25 сообщений из 34, страница 1 из 2
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / Разделение одного поля на два
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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