Гость
Целевая тема:
Создать новую тему:
Автор:
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Подскажите, как можно сделать кратко / 4 сообщений из 4, страница 1 из 1
05.07.2016, 13:06:49
    #39267907
Подскажите, как можно сделать кратко
Задача: массив из Фамилий-Имен-Отчеств преобразовать к виду Фамилия И. О.
Нагородил логику из substr-ов и instr-ов, но не нравится.

Подозреваю, что сие можно сделать одной строкой аналитическими функциями. Поможете?

with t as (select 'Пупкин Василий Иоанович' n from dual union all
select 'Буль-Буль оглы Палад' from dual union all
select 'Клинтон Билл' from dual)

должно получиться:

Пупкин В. И.
Буль-Буль о. П.
Клинтон Б.
...
Рейтинг: 0 / 0
05.07.2016, 13:09:24
    #39267911
dbms_photoshop
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Подскажите, как можно сделать кратко
Стромпрстен,

в поиск

Осознай отличие от single row functions and analytic functions.
...
Рейтинг: 0 / 0
05.07.2016, 13:11:37
    #39267913
Подскажите, как можно сделать кратко
Стромпрстенодной строкой аналитическими функциями. с регулярками не попутал, случаем?
И как быть с небезысвестным Остапом Сулейман Берта Мария Бендер-Бейем ?
...
Рейтинг: 0 / 0
05.07.2016, 13:18:43
    #39267918
Подскажите, как можно сделать кратко
Добрый Э - Эх,

Попутал, конечно.
По ссылке выше нашел вполне подходящий вариант от orawish: regexp_replace(s,'( [А-Я]| [а-я]*)([^ ]*)','\1.')

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


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