powered by simpleCommunicator - 2.0.53     © 2025 Programmizd 02
Форумы / Oracle [игнор отключен] [закрыт для гостей] / Фамилия И.О из строки (Oracle sql)
17 сообщений из 17, страница 1 из 1
Фамилия И.О из строки (Oracle sql)
    #39851954
sk2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sk2
Гость
Нужна помощь, есть длинная строка:



необходимы выбрать только ФИО, пропустив при этом дату и время, в таком виде: Иванов С.П.
То есть Фамилия И.О.
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39851960
Фотография -2-
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sk2необходимы выбратьЗависит от отношения к ошибкам.
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39851964
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39851967
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Сир,
Студентам, желающим помощи
HOWTO :: Как правильно задавать вопросы

1) Полная постановка задачи (без сокращений)
2) Подготовьте тестовые данные, лучше в виде with
например (не ваш случай):

with tbl(col1,col2,col3) as (
select 1,'name1',to_date('11.02.1921','DD.MM.YYYY') from dual union all
select 2,'name2',to_date('11.02.1922','DD.MM.YYYY') from dual union all
)
select col2 from tbl...

2) Покажите что сделали,


3) используйте Тэги, читать код без них неудобно

p.s. Что хотите от таких фамилий (знаком лично):
Фернандес Перес Владимир Кастулович
Хосуэ Гонсалес Де Леон
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39851969
Фотография Vadim Lejnin
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Vadim LejninСир,
Студентам, желающим помощи
HOWTO :: Как правильно задавать вопросы

1) Полная постановка задачи (без сокращений)
2) Подготовьте тестовые данные, лучше в виде with
например (не ваш случай):

Код: plsql
1.
2.
3.
4.
5.
with tbl(col1,col2,col3) as (
select 1,'name1',to_date('11.02.1921','DD.MM.YYYY') from dual union all
select 2,'name2',to_date('11.02.1922','DD.MM.YYYY') from dual union all
)
select col2 from tbl...


2) Покажите что сделали,


3) используйте Тэги, читать код без них неудобно

p.s. Что хотите от таких фамилий (знаком лично):
Фернандес Перес Владимир Кастулович
Хосуэ Гонсалес Де Леон

Сам ТЭГи забыл поставить :)
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39852001
Pharell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
sk2,

Добрый день! Мне кажется нужно использовать функцию SUBSTR. Я так понимаю кол-во символов с датой одинаково во всех записях.
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39852002
Pharell
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Гость
Здесь как раз она описывается - https://oracleplsql.ru/mysql-function-substr.html
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39852003
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PharellЯ так понимаю кол-во символов с датой одинаково во всех записях.Оптимист или наивный?
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39852005
Фотография Elic
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
PharellЗдесь как раз она описываетсяТам описывается нечто другое.
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39852040
Фотография Stax
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sk2в таком виде: Иванов С.П.


c С.П. есть нюансы

\'Бендер Остап Сулейман-Берта - Мария Ибрагимович\'

.....
stax
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39852069
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Код: 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.
with q(val, rn) as (select '23/07/2019 17:15, ИВАНОВ Сергей Петрович', 1 from dual union all
select '23/07/2019 O7:15:41, Фернандес Перес Владимир Кастулович ',2 from dual union all
select '2/07/2019 о7:15, Николаев николай Николаевич',3 from dual union all
select '23/07/2019 17:10, Иванов Сергей',4 from dual union all
select '23/07/2019 17:19, Бендер Остап Сулейман-Берта - Мария Ибрагимович',5 from dual
)

select q.*
     , replace(
               listagg(
                       regexp_substr(val
                                     ,decode(
                                             level,1,'([[:alpha:]][[:alpha:]]*\s)','\s([[:alpha:]])[[:alpha:]*(\s|$)]'
                                             )
                                     ,1,level,null,1
                                     )
                       ,'.'
                       ) WITHIN GROUP (order by level)||'.'
               ,' .',' '
               )
from q
connect by regexp_count(val,'[[:alpha:]][[:alpha:]](\s|$)') >= level and prior rn = rn
and prior dbms_random.value is not null
group by rn, val
order by rn
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39852101
123йй
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
DshedooСоловьев-Седой Василий Павлович
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39852109
Dshedoo
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
123ййDshedooСоловьев-Седой Василий Павлович

Код: plsql
1.
decode(level,1,'([[:alpha:]][[:alpha:]].*?\s)','\s([[:alpha:]])[[:alpha:]*?(\s|$)]')



В любом случае нельзя допилить "универсальный" вариант, не зная особенности заполнения поля.
Ещё дата может текстом прилететь, а я её в фамилию кину.
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39852110
alex-ls
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
Бурухтан Второй Второй
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39852295
sk2
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
sk2
Гость
Pharellsk2,

Добрый день! Мне кажется нужно использовать функцию SUBSTR. Я так понимаю кол-во символов с датой одинаково во всех записях.
Совершенно верно, количество символов даты и времени всегда одинаково.
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39852297
Фотография andrey_anonymous
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sk2Совершенно верно, количество символов даты и времени всегда одинаково.
Ну для неисправимых оптимистов можно и substr(str,19)
...
Рейтинг: 0 / 0
Фамилия И.О из строки (Oracle sql)
    #39852336
Фотография orawish
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Участник
sk2,

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


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