Select

Тема в разделе "SQL", создана пользователем Rina, 26 май 2005.

Статус темы:
Закрыта.
  1. Rina

    Rina Гость

    Подскажите, кто может...

    Есть таблица протоколов:
    NEWF - новые значения полей;
    OP_ID - ID оператора, создавшего запись;
    DATE - дата создания записи.

    в поле NEWF записываются значения из трех полей другой таблицы чере разделитель '^#$'

    нужно написать запрос, который бы разбивал поле NEWF и таким образом вместо одного поля получить три новых.

    В PLPGSQL есть функция split_part(string text, delimiter text, field integer) - Split string on delimiter and return the given field (counting from one)
    пример: split_part( 'abc~@~def~@~ghi', '~@~', 2)
    результат: def

    в Оракл такой функции, на сколько я знаю, нет.
     
  2. Barmutik

    Barmutik Гость

    Для SQL Server можно воспользоваться функциями SUBSTRING И PATINDEX

    Оракла сейчас под рукой нет .. но там 100% есть такие же функции.. может чуть отличающиеся по синтаксису...
     
  3. Guest

    Guest Гость

    <!--QuoteBegin-Rina+26:05:2005, 18:31 -->
    <span class="vbquote">(Rina @ 26:05:2005, 18:31 )</span><!--QuoteEBegin-->Подскажите, кто может...

    Есть таблица протоколов:
    NEWF - новые значения полей;
    OP_ID - ID оператора, создавшего запись;
    DATE - дата создания записи.

    в поле NEWF записываются значения из трех полей другой таблицы чере разделитель '^#$'

    нужно написать запрос, который бы разбивал поле NEWF и таким образом вместо одного поля получить три новых.

    В PLPGSQL есть функция split_part(string text, delimiter text, field integer) - Split string on delimiter and return the given field (counting from one)
    пример: split_part( 'abc~@~def~@~ghi', '~@~', 2)
    результат: def

    в Оракл такой функции, на сколько я знаю, нет.
    [snapback]20183" rel="nofollow" target="_blank[/snapback]​
    [/quote]

    substr + instr
     
  4. 13-

    13- Гость

    ИМХО это
    >в поле NEWF записываются значения из трех полей другой таблицы чере >разделитель '^#$'
    в корне не правильно. Это противоречит идеологии реляционных баз данных.
    Поверь мне попаришься ты потом при всевозможных выборках и изменениях данных
    Создавай промежуточную таблицу!!!
     
Загрузка...
Похожие Темы - Select
  1. victorhalf
    Ответов:
    8
    Просмотров:
    920
  2. NickProstoNick
    Ответов:
    0
    Просмотров:
    1.090
  3. KingGLEB
    Ответов:
    3
    Просмотров:
    1.318
  4. Amfion
    Ответов:
    7
    Просмотров:
    2.058
  5. Serduko
    Ответов:
    22
    Просмотров:
    5.861
Статус темы:
Закрыта.

Поделиться этой страницей