Гость
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / как отделить данные разделенные запятой? / 25 сообщений из 49, страница 1 из 2
13.07.2015, 17:19
    #39006212
Ingvar007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Всем привет!
Помогите плиз новичку.
Существует таблица с полем Field1(Varchar). В него импортируется текстовая информация разделенная запятыми, например: V1234,TI20,W30.
Необходимо сделать тригер и разнести данные в 3 других поля. Как разделить данные разделенные запятой?
Field2 Field3 Field4
V1234 TI20 W30

Заранее большущее спасибо! :)
...
Рейтинг: 0 / 0
13.07.2015, 17:21
    #39006215
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Hello, Ingvar007!
You wrote on 13 июля 2015 г. 17:22:02:

Ingvar007> Необходимо сделать тригернет

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.07.2015, 17:26
    #39006223
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Ingvar007импортируется текстовая информация
Все вопросы - к программе, импортирующей данные.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.07.2015, 17:27
    #39006228
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Ingvar007,

А почему у тебя данные вместо 3 полей в одно прилетают?
...
Рейтинг: 0 / 0
13.07.2015, 17:48
    #39006254
Ingvar007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
У юзера есть только одно поле для заполнения (в финансовой системе), поэтому после импорта в sql эти данные нужно разбить на 3 поля.
Импорт уже настроен и идет из текстового файла автоматически и честно говоря, не хотелось бы его менять. В нем разделитель колонок установлен '|'.
Почему нельзя использовать тригер ?
...
Рейтинг: 0 / 0
13.07.2015, 18:00
    #39006260
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Ingvar007,

Смотри строковые функции - position,left,right,trim...

Надеюсь в тебя FB не замшелый?
...
Рейтинг: 0 / 0
13.07.2015, 18:02
    #39006263
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Hello, Ingvar007!
You wrote on 13 июля 2015 г. 18:03:15:

Ingvar007> Импорт уже настроенперенастрой.

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.07.2015, 18:23
    #39006275
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Ingvar007не хотелось бы его менять
А придётся. Ибо это самый простой способ.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.07.2015, 19:33
    #39006305
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Dimitry SibiryakovIngvar007не хотелось бы его менять
А придётся. Ибо это самый простой способ.


вот вы умники ))))))))
...
Рейтинг: 0 / 0
13.07.2015, 19:36
    #39006306
MaratIsk
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Dimitry SibiryakovIngvar007не хотелось бы его менять
А придётся. Ибо это самый простой способ.


с такими советчиками и врагов не надо ))))))))))
нет чтоб подсказать как разобрать поле и занести нужные значения в нужные поля
...
Рейтинг: 0 / 0
13.07.2015, 19:48
    #39006312
Dimitry Sibiryakov
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
MaratIskнет чтоб подсказать как разобрать поле
А почему ты думаешь, что у него есть поле, поддающееся разбиранию?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
13.07.2015, 21:03
    #39006344
Kaprizka
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Наверно, потомучто это поле называется Field1
...
Рейтинг: 0 / 0
13.07.2015, 22:46
    #39006383
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Ну все, набежали... Я ж уже сказал, куда смотреть: ..doc\sql.extensions\README.builtin_functions.txt
...
Рейтинг: 0 / 0
14.07.2015, 04:50
    #39006465
Граур Станислав
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
MaratIskнет чтоб подсказать как разобрать поле и занести нужные значения в нужные поля

Как подсказывать то?
Версия Fb секретная. Типы полей тоже секретные.
Почему нельзя перенастроить импорт опять таки секрет.

Сплошные тайны.
...
Рейтинг: 0 / 0
14.07.2015, 10:18
    #39006657
Ingvar007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Все добрый утр!
версия 2.5.1.26351
Все поля - Varchar
колличество символов между запатыми в поле - Field1 может меняться, поэтому left and right использовать не получится

Если всем не нравится тригер, можно использовать процедуру после импорта :)
...
Рейтинг: 0 / 0
14.07.2015, 11:00
    #39006702
DarkMaster
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Ingvar007,

Ты не дочитал про position - что мешает вставить результат, полученный после
Код: plsql
1.
   pos=position('|',:incoming_data)

в последующий RIGHT()/LEFT()?
...
Рейтинг: 0 / 0
14.07.2015, 11:53
    #39006795
Ingvar007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
спасибо, буду пробывать!
...
Рейтинг: 0 / 0
14.07.2015, 12:03
    #39006812
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Hello, Ingvar007!
You wrote on 14 июля 2015 г. 12:03:58:

Ingvar007> спасибо, буду пробывать! ты букву "я" пропустил в слове "пробывать".

Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.07.2015, 12:20
    #39006827
zirra
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Ingvar007> спасибо, буду пробывать!
Повбывав бы...

--
Vladimir A.Bakhvaloff
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.07.2015, 12:32
    #39006845
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Ingvar007спасибо, буду пробывать!
Что там пробовать,надо сесть и сделать:


Код: plsql
1.
2.
3.
4.
5.
6.
7.
8.
9.
10.
11.
12.
13.
14.
15.
16.
17.
18.
19.
20.
21.
22.
23.
24.
25.
26.
27.
28.
29.
30.
31.
32.
33.
34.
35.
36.
37.
38.
39.
40.
41.
42.
43.
44.
45.
46.
47.
48.
49.
50.
51.
52.
CREATE OR ALTER trigger table_1_bi0 for table_1
active before insert position 0
as

declare variable T_ID_1 integer;
declare variable T_ID_2 integer;
declare variable T_STR_1 varchar(255);
declare variable T_STR_2 varchar(255);
declare variable T_STR_3 varchar(255);
declare variable T_STR_5 varchar(255);
declare variable T_STR_6 varchar(255);
declare variable T_STR_7 varchar(255);

begin
  select position(',' in new.FIELD1) - 1
  from RDB$DATABASE
  into :T_ID_1;
  select substring(new.FIELD1 from 1 for :T_ID_1)
  from RDB$DATABASE
  into :T_STR_1;

  select trim(leading :T_STR_1 from new.FIELD1)
  from RDB$DATABASE
  into :T_STR_2;

  select trim(leading ',' from :T_STR_2)
  from RDB$DATABASE
  into :T_STR_5;

  new.FIELD2 = :T_STR_1;

  select position(',' in :T_STR_5) - 1
  from RDB$DATABASE
  into :T_ID_2;

  select substring(:T_STR_5 from 1 for :T_ID_2)
  from RDB$DATABASE
  into :T_STR_3;

  select trim(leading :T_STR_3 from :T_STR_5)
  from RDB$DATABASE
  into :T_STR_6;

  select trim(leading ',' from :T_STR_6)
  from RDB$DATABASE
  into :T_STR_7;

  new.FIELD3 = :T_STR_3;

  new.FIELD4 = :T_STR_7;

end

...
Рейтинг: 0 / 0
14.07.2015, 12:36
    #39006854
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Таблица
Код: plsql
1.
2.
3.
4.
5.
6.
CREATE TABLE TABLE_1 (
    FIELD1  VARCHAR(255),
    FIELD2  VARCHAR(255),
    FIELD3  VARCHAR(255),
    FIELD4  VARCHAR(255)
);



Сам поправишь как тебе надо.
p.s. просьба тапками в меня не кидать,если код говно плохой - покажите,что не так сделал, а то новичка все обидеть готовы.
...
Рейтинг: 0 / 0
14.07.2015, 12:43
    #39006866
Ingvar007
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
GallemarТаблица
Код: plsql
1.
2.
3.
4.
5.
6.
CREATE TABLE TABLE_1 (
    FIELD1  VARCHAR(255),
    FIELD2  VARCHAR(255),
    FIELD3  VARCHAR(255),
    FIELD4  VARCHAR(255)
);



Сам поправишь как тебе надо.
p.s. просьба тапками в меня не кидать,если код говно плохой - покажите,что не так сделал, а то новичка все обидеть готовы.

Спасибо, добрый человек!!! :)
...
Рейтинг: 0 / 0
14.07.2015, 12:46
    #39006870
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Ingvar007Спасибо, добрый человек!!! :)
Должен будешь :)
...
Рейтинг: 0 / 0
14.07.2015, 12:47
    #39006873
Мимопроходящий
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
Игорь, ты случайно не рыжий, не?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
14.07.2015, 12:51
    #39006878
Gallemar
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
как отделить данные разделенные запятой?
МимопроходящийИгорь, ты случайно не рыжий, не?

Русый
https://yadi.sk/i/292RDNv_hrQCJ
...
Рейтинг: 0 / 0
Форумы / Firebird, InterBase [игнор отключен] [закрыт для гостей] / как отделить данные разделенные запятой? / 25 сообщений из 49, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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