powered by simpleCommunicator - 2.0.61     © 2026 Programmizd 02
Целевая тема:
Создать новую тему:
Автор:
Закрыть
Цитировать
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Pl/sql функция удаления дубликатов в строке
7 сообщений из 7, страница 1 из 1
Pl/sql функция удаления дубликатов в строке
    #39563020
gsageeh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Необходима функция на pl/sql, на входе и выходе строка, разделитель между словами ",". Функция должна удалять слова-дубликаты. В выходной строке сортировка по алфавиту.
пример: вход - AB,AA,AB,CD,ABC,CD выход - AA,AB,ABC,CD
...
Рейтинг: 0 / 0
Pl/sql функция удаления дубликатов в строке
    #39563024
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Pl/sql функция удаления дубликатов в строке
    #39563027
gsageeh
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
dmdmdm, я не понимаю как работать со строками в pl/sql, в таблицах через уникальность полей представляю как это решить на sql или на С++ допустим. Работу со строками находил на уровне нескольких базовых операций только.
...
Рейтинг: 0 / 0
Pl/sql функция удаления дубликатов в строке
    #39563029
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Pl/sql функция удаления дубликатов в строке
    #39563047
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
В ссылке кодировка побилась.
Поиск по "PLSQL разбиение строк".

Код: plsql
1.
2.
3.
with t as ( select 'AB,AA,AB,CD,ABC,CD' str from dual )
select distinct regexp_substr(str, '[^,]+', 1, level) res from t
connect by regexp_substr(str, '[^,]+', 1, level)  is not null

...
Рейтинг: 0 / 0
Pl/sql функция удаления дубликатов в строке
    #39563052
dmdmdm
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
А, забыл обратно в строку.

Код: plsql
1.
2.
3.
4.
5.
6.
with t as ( select 'AB,AA,AB,CD,ABC,CD' str from dual )
select listagg(res, ',') WITHIN GROUP (ORDER BY res)
 from (
        select distinct regexp_substr(str, '[^,]+', 1, level) res from t
        connect by regexp_substr(str, '[^,]+', 1, level)  is not null
       )

...
Рейтинг: 0 / 0
Pl/sql функция удаления дубликатов в строке
    #39563061
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: plsql
1.
2.
3.
4.
5.
6.
7.
SQL> @out set(Util.SubNames2TStrs('AB,AA,AB,CD,ABC,CD',',')).count

4

SQL> @out set(Util.SubNames2TStrs('AB,AA,AB,CD,ABC,CD',','))(3)

CD
...
Рейтинг: 0 / 0
7 сообщений из 7, страница 1 из 1
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Pl/sql функция удаления дубликатов в строке
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


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