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

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

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

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

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

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

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

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

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


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


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

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

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

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

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

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

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

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

--
Vladimir A.Bakhvaloff
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #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
как отделить данные разделенные запятой?
    #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
как отделить данные разделенные запятой?
    #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
как отделить данные разделенные запятой?
    #39006870
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ingvar007Спасибо, добрый человек!!! :)
Должен будешь :)
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39006873
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Игорь, ты случайно не рыжий, не?
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39006878
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
МимопроходящийИгорь, ты случайно не рыжий, не?

Русый
https://yadi.sk/i/292RDNv_hrQCJ
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39006903
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

Н-да... Я почему-то тяготею к конструкциям типа:
Код: plsql
1.
2.
3.
  POS=POSITION(DELIMITERCHAR,INCOMINGDATA);
  S=SUBSTRING(INCOMINGDATA FROM 1 FOR POS-1);
  INDATA=TRIM(DELIMITERCHAR FROM RIGHT(INCOMINGDATA,CHAR_LENGTH(INCOMINGDATA)-POS));

завернутым в цикл WHILE (POS>0). Без всяких RDB$DATABASE.
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39006904
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemarselect trim(leading ',' from :T_STR_2)
from RDB$DATABASE
into :T_STR_5;

ты как там, хорошо себя чувствуешь? rdb$database по ночам не снится?

T_STR_5= trim(leading ',' from :T_STR_2);
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39006906
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ingvar007,

только замени все эти select ... rdb$database на обычные присвоения значений переменным от функций, как я привел выше.
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39006916
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdv
ты как там, хорошо себя чувствуешь?
В воскресенье вернулся с исторической родины, прихожу постепенно в норму :)
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39006982
Фотография zirra
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Мимопроходящий> Игорь, ты случайно не рыжий, не?
Ну, тут как-то плохо видно


--
Vladimir A.Bakhvaloff
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39006992
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
zirra,да рыжий,рыжий. И жена рыжая, и дети рыжие
https://yadi.sk/i/uIvL_P8KhrZTE
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007005
Фотография kdv
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Gallemar,

это хорошо, но одержимость rdb$database все же вылечи.
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007029
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvGallemar,

это хорошо, но одержимость rdb$database все же вылечи.
Вылечу. Опыта мало и контроля нет,вот и пишу как умею.
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007036
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvодержимость rdb$database все же вылечи.

В копилку утяну, если не против ;)))
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007128
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Ingvar007,

Код: sql
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.
create or alter procedure STR2ROW (
    STRING varchar(2048),
    SEPARATOR varchar(1))
returns (
    ROW varchar(20))
as
begin
  Separator = coalesce(Separator, ';');
  if (Separator = '') then Separator = ';';
  Row = '';

  while (String != '') do
  begin
    if (substring(String from 1 for 1) != Separator) then
      Row = Row || substring(String from 1 for 1);
    else
    begin
      if (Row != '') then suspend;
      Row = '';
    end
    String = substring(String from 2);

  end
  if (Row != '') then suspend;
end


ну а далее как угодно, хоть по полям распихивай хоть ещё что делай
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007143
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko
Код: sql
1.
String != ''


Почему не char_length?
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007145
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko,

Вроде как если String=='' или String is NULL - будут проблемы...
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007148
Фотография wadman
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanMikhail Tchervonenko
Код: sql
1.
String != ''



Почему не char_length?
И в догонку: почему нет функции POSITION?
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007150
Мимопроходящий
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Hello, Mikhail Tchervonenko!
You wrote on 14 июля 2015 г. 16:48:16:

Mikhail TchervonenkoSEPARATOR varchar(1)оху ительно!
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007151
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
wadmanMikhail Tchervonenko
Код: sql
1.
String != ''


Почему не char_length?
да, можно
эт вообще из говнопроекра кусок говнокода, никак не что то рекомендуемое
но ему походу это и надо
сама необходимость такой функции говорит об говнопроектировании
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007158
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenko,

Вот передаст ТС на вход строчку из CSV " ;;ABC;; " - опять прибежит "спасите, не работает!"...
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007190
afgm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenkoну а далее как угодно, хоть по полям распихивай хоть ещё что делай
Есть проблемы в такой реализации "сплита":
1. Разделитель не более одного символа
2. Двойные разделители проглатываются (что ТСу может быть критично)
Посему:
split
Код: sql
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.
53.
54.
55.
56.
57.
58.
59.
60.
61.
62.
63.
64.
65.
66.
67.
68.
69.
70.
71.
72.
73.
74.
75.
76.
77.
78.
79.
80.
81.
82.
83.
84.
85.
86.
87.
88.
89.
90.
91.
create or alter procedure SPLIT (
    SOURCE varchar(32000),
    DELIMITER varchar(256),
    WITH_EMPTY smallint = 1)
returns (
    NN integer,
    WORD varchar(4096))
AS
declare variable I integer;
declare variable START_FROM integer;
declare variable ELEMENT varchar(1024);
declare variable SOURCE_LENGTH integer;
declare variable DELIMITER_LENGTH integer;
begin
/*==============================================================================
  Режет текст по разделителю
  Auhor: Alex Bekhtin
  Date: XX.6-7.2008
  GROUP: Утилитарные
---
  with_empty - флаг указывается для сохранения пустых элементов, например

select * from split('aaa;;;bbb;ccc;', ';', 1)
----------
NN    WORD
1    aaa
2    
3    
4    bbb
5    ccc
6

select * from split('aaa;;;bbb;ccc', ';', 0)
----------
NN    WORD
1    aaa
2    bbb
3    ccc
==============================================================================*/
  if (:delimiter is null) then
  begin
    exception dev_error 'Не задан разделитель!';
  end
  nn = 1;
  i = 1;
  start_from = 1;
  source_length = character_length(:source);
  delimiter_length = character_length(:delimiter);
  while ( i <= (source_length - delimiter_length + 1) ) do
  begin
    element = substring(source from i for delimiter_length);
    if ( element = delimiter ) then
    begin
      if ( i = start_from ) then
      begin
        if ( with_empty = 1 ) then
        begin
          word = '';
          suspend;
          NN = NN + 1;
        end
      end
      else /* i <> start_from */
      begin
        word = substring(source from :start_from for :i - :start_from);
        suspend;
        NN = NN + 1;
      end

      if ( (i + delimiter_length = source_length + 1) and (with_empty = 1) ) then
      begin
        word = '';
        suspend;
        exit;
      end

      start_from = i + delimiter_length;
      i = start_from;
    end
    else
    begin
      i = i + 1;
    end
  end

  if ( start_from <= character_length(source) ) then
  begin
    word = substring(source from start_from);
    suspend;
  end
end



Код: sql
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.
execute block
returns (val varchar(100), val1 varchar(100), val2 varchar(100), val3 varchar(100))
as
declare variable NN integer;
declare variable WORD varchar(4096);
begin
  for
    with A(val) as (
         select 'aaa;bbb;ccc' from rdb$database
         union all
         select 'aaa;bbb;' from rdb$database
         union all
         select 'aaa;;' from rdb$database
         union all
         select 'aaa' from rdb$database
         union all
         select ';bbb;' from rdb$database
         union all
         select ';bbb' from rdb$database
         union all
         select ';;ccc' from rdb$database
        )
   select val from A into :val do
   begin
      val1 = null;
      val2 = null;
      val3 = null;
      for select NN, WORD from split(:val, ';')
        into :NN, :WORD
         do
      begin
        if (NN = 1) then val1 = WORD;
        else if (NN = 2) then val2 = WORD;
        else if (NN = 3) then val3 = WORD;
      end
      SUSPEND;
   end
end
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007192
afgm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenkoсама необходимость такой функции говорит об говнопроектировании
Наличие или отсутствие функции a-la-split ничего не говорит о проекте.
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007197
Dimitry Sibiryakov
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
afgmНаличие или отсутствие функции a-la-split ничего не говорит о проекте.

Наличие нескольких значений, которые нужно разделять, в одном поле, говорит о нарушении
первой НФ. Что и характеризует проект в целом.
Posted via ActualForum NNTP Server 1.5
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007240
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenkowadmanпропущено...

Почему не char_length?
да, можно
эт вообще из говнопроекра кусок говнокода, никак не что то рекомендуемое
но ему походу это и надо
сама необходимость такой функции говорит об говнопроектировании
И ты решил говном поделится?
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007246
Фотография DarkMaster
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
GallemarMikhail Tchervonenkoэт вообще из говнопроекра кусок говнокода
И ты решил говном поделится?

А пусть не только ему плохо будет
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007286
Фотография Mikhail Tchervonenko
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DarkMasterGallemarпропущено...

И ты решил говном поделится?

А пусть не только ему плохо будет

ну как бы не моё, не жалко :)
я такое не использую т.к. нефиг (с)
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007288
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Mikhail Tchervonenkoя такое не использую т.к. нефиг (с)
Ну и не предлагай тогда
...
Рейтинг: 0 / 0
как отделить данные разделенные запятой?
    #39007539
Фотография Gallemar
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
kdvGallemar,

это хорошо, но одержимость rdb$database все же вылечи.
вылечил

Код: 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.
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
  T_ID_1 = position(',' in new.FIELD1) - 1;

  T_STR_1 = substring(new.FIELD1 from 1 for :T_ID_1);

  T_STR_2 = trim(leading :T_STR_1 from new.FIELD1);

  T_STR_5 = trim(leading ',' from :T_STR_2);

  new.FIELD2 = :T_STR_1;

  T_ID_2 = position(',' in :T_STR_5) - 1;

  T_STR_3 = substring(:T_STR_5 from 1 for :T_ID_2);

  T_STR_6 = trim(leading :T_STR_3 from :T_STR_5);

  T_STR_7 = trim(leading ',' from :T_STR_6);

  new.FIELD3 = :T_STR_3;

  new.FIELD4 = :T_STR_7;
end

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


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