Добро пожаловать в форум, Guest  >>   Войти | Регистрация | Поиск | Правила | В избранное | Подписаться
Все форумы / Oracle Новый топик    Ответить
Топик располагается на нескольких страницах: 1 2      [все]
 Как разделить ФИО на Ф, И, О?  [new]
Павел Гужанов
Member

Откуда: Наро-Фоминск
Сообщений: 401
В поле таблицы содержится ФИО человека. Мне нужно в результате SQL запроса получить отдельные поля Фамилия, Имя, Отчество. Как это сделать?
15 апр 09, 08:28    [7064602]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
Решается стандартно instr+substr.
15 апр 09, 08:31    [7064612]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
semenar
Member

Откуда: Днепропетровск
Сообщений: 3308
Блог
когда-то давно писал:
FUNCTION RETURN_FIO (C_VALUE VARCHAR2,N_CHECK NUMBER) RETURN VARCHAR2 IS
  V_VAR NUMBER;
  C_OUT VARCHAR2(130) DEFAULT NULL;
  BEGIN
   IF N_CHECK = 1 THEN
    C_OUT := SUBSTR(C_VALUE,1,INSTR(C_VALUE,' ')); --ФАМИЛИЯ--
   END IF;
   IF N_CHECK = 2 THEN
    C_OUT := SUBSTR(C_VALUE,INSTR(C_VALUE,' ',1,1)+1,INSTR(C_VALUE,' ',1,2)-INSTR(C_VALUE,' ',1,1)-1); --ИМЯ--
   END IF;
   IF N_CHECK = 3 THEN
    C_OUT := SUBSTR(C_VALUE,INSTR(C_VALUE,' ',1,2)+1);  --ОТЧЕСТВО--
   END IF;
   RETURN TRIM(C_OUT);
  END;
15 апр 09, 08:34    [7064620]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 48429
Для любителей программно разбивать строку ФИО на фамилию, имя и отчество пример:
"Ханмамедова Дуня Тофик гизы"
или
"Ханмамедова Дуня Тофик-гизы"

- кто из них как пишет.
15 апр 09, 08:41    [7064634]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
SQLap
Member [заблокирован]

Откуда:
Сообщений: 34063
Павел Гужанов
В поле таблицы содержится ФИО человека. Мне нужно в результате SQL запроса получить отдельные поля Фамилия, Имя, Отчество. Как это сделать?


select substr('Иванов Иван Иванович', 1, instr('Иванов Иван Иванович', ' ')),
       substr('Иванов Иван Иванович', instr('Иванов Иван Иванович', ' ',2), instr('Иванов Иван Иванович', ' ',2) -1),
       substr('Иванов Иван Иванович', -instr('Иванов Иван Иванович', ' ', 2) -1)
 from dual

на Тофик газах не работает правда(
15 апр 09, 08:48    [7064646]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
Павел Гужанов
Member

Откуда: Наро-Фоминск
Сообщений: 401
Спасибо
15 апр 09, 09:24    [7064728]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 48429
Row#FAM||''||IMA||''||OTH
1Абасов Фархад Фикрет-Оглы
2Аблязов Рустем
3Бахшалиев Афик Зульфали оглы
4Булина-Зыкина Елена Андреевна
5Габибов Арзу Камил-оглы
6Зейналов Эльмар Джамал_оглы
7Исмаилов Заур Абульфат_оглы
8Мамедов Эльдар Насиб_оглы
9Рагимов Рауф Афис-оглы
10Рагимов Рафик Афис-оглы
11Самофалов-Зорин Артем Маркович
12Сариев Махаббат Эльдар-Оглы
13Тагиев Рагим Надир оглы
14Тульнова Гюльнара Ахмедага кизы
15Ханмамедова Дуня Тофик-гизы
16Эль_гуэссаб Любовь Валерьевна
кстати, насколько я понял, "Эль_гуэссаб" - фамилия из двух слов, просто всё-таки пришлось вставить "_"
15 апр 09, 09:42    [7064817]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
SQLap
Member [заблокирован]

Откуда:
Сообщений: 34063
andreymx
Row#tFAM||''||IMA||''||OTH
1tАбасов Фархад Фикрет-Оглы
2tАблязов Рустем
3tБахшалиев Афик Зульфали оглы
4tБулина-Зыкина Елена Андреевна
5tГабибов Арзу Камил-оглы
6tЗейналов Эльмар Джамал_оглы
7tИсмаилов Заур Абульфат_оглы
8tМамедов Эльдар Насиб_оглы
9tРагимов Рауф Афис-оглы
10tРагимов Рафик Афис-оглы
11tСамофалов-Зорин Артем Маркович
12tСариев Махаббат Эльдар-Оглы
13tТагиев Рагим Надир оглы
14tТульнова Гюльнара Ахмедага кизы
15tХанмамедова Дуня Тофик-гизы
16tЭль_гуэссаб Любовь Валерьевна
кстати, насколько я понял, "Эль_гуэссаб" - фамилия из двух слов, просто всё-таки пришлось вставить "_"


Мне почему-то в таких случаях вспоминается голладский футболист Ян Венегоор оф Хесселинк)
15 апр 09, 09:47    [7064853]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
SQLap
Member [заблокирован]

Откуда:
Сообщений: 34063
А вообще в шикарных системах для хранения ФИО отводится 4 поля минимум.
ФИО, Ф, И и О. Некоторые еще и на падежи не скупятся
15 апр 09, 09:48    [7064864]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
__vvp_
Member

Откуда: Санкт-Петербург
Сообщений: 1162
У нас есть работник Альвард Анвар Али Абдо
И где у него имя, фамилия, отчество?
15 апр 09, 09:52    [7064900]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
SQLap
Member [заблокирован]

Откуда:
Сообщений: 34063
__vvp_
У нас есть работник Альвард Анвар Али Абдо
И где у него имя, фамилия, отчество?


Во блин, понаехали...
Хотя... Если по дефолту взять пробел как делимитер, то уже кадрам придется решать Анвар-Али он или Али-Абдо
15 апр 09, 10:06    [7064994]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9589
ФИО это СССРное, у других товарищей может быть ИФ, И1И2И3...ИNФ,
И1И2И3...ИN и прочие вариации :)
15 апр 09, 10:08    [7065021]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
stax..
Guest
Павел Гужанов,

Бендер Остап Сулейман -Берта-Мария Ибрагимович
15 апр 09, 10:09    [7065025]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
tru55
Member

Откуда: СПб
Сообщений: 19715
stax..
Павел Гужанов,

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


Да, я тоже его сразу вспоминаю в подобных случаях :)
Только мне почему-то казалось, что ...Мария Бендер-бей :)
15 апр 09, 10:34    [7065200]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
Mexico
Member

Откуда: Мексика
Сообщений: 209
и как на счеть двойная фамилия или имя как в испано-говорящи страна?

кстати не навижу constraint в поле "Отчество" NOT NULL :)
----------------------------------------------
Sorry, my Russian is not as good as my Spanish
15 апр 09, 10:41    [7065262]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 99255
Mexico
и как на счеть двойная фамилия или имя как в испано-говорящи страна?

кстати не навижу constraint в поле "Отчество" NOT NULL :)


Фамилия ? Хансен
Имя ? Билл
Отчество ? Я не знаю....у него нет отчества
(С) Осенний марафон

15 апр 09, 10:46    [7065306]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
SQLap
Member [заблокирован]

Откуда:
Сообщений: 34063
dmidek
Mexico
и как на счеть двойная фамилия или имя как в испано-говорящи страна?

кстати не навижу constraint в поле "Отчество" NOT NULL :)


Фамилия ? Хансен
Имя ? Билл
Отчество ? Я не знаю....у него нет отчества
(С) Осенний марафон



Кадровики придумают)) Как обойти констрейнт)))
15 апр 09, 10:48    [7065329]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
Mexico
Member

Откуда: Мексика
Сообщений: 209
SQLap
dmidek
Mexico
и как на счеть двойная фамилия или имя как в испано-говорящи страна?

кстати не навижу constraint в поле "Отчество" NOT NULL :)


Фамилия ? Хансен
Имя ? Билл
Отчество ? Я не знаю....у него нет отчества
(С) Осенний марафон



Кадровики придумают)) Как обойти констрейнт)))


Главное, в Домовой книги у меня : Отчество : НЕТ, думаю был лучше Нетович!!!
15 апр 09, 11:18    [7065625]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
-=APS=-
Member

Откуда: Киев
Сообщений: 737
__vvp_
У нас есть работник Альвард Анвар Али Абдо
И где у него имя, фамилия, отчество?

Аналогичная ситуация.. Принимающая система когда-то была заточена под 3 реквизита: фамилия, имя, отчество. А поступают данные в одном поле в произвольном порядке и часто в реальной жизни приходится регистрировать для обслуживания людей, у которых с ФИО не все так однозначно. Например, Dong Canh Trung (Вьетнам), или Aza Ocana Emiliano de la Cruz (Испания) и т.п. Правда, бухгалтерия поднялась на более высокий уровень абстракции и заявила, что им пофигу, что там имя, а что - фамилия, и где они хранятся в БД. Для них важно, чтобы реквизиты в платежное поручение попадали без искажений :)
15 апр 09, 11:22    [7065657]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
Dmitry Arefiev
Member

Откуда:
Сообщений: 9589
-=APS=-
Для них важно, чтобы реквизиты в платежное поручение попадали без искажений :)

Главное, что бы совпадало с удостоверяющим личность документом и прочими
государственными записями :)
15 апр 09, 11:44    [7065912]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
citrix
Member

Откуда:
Сообщений: 157
Сразу вспомнилась знакомая девочка Марина Елена Николаевна... в фамилии Марина ударение на последний слог:-)

Нам нужен мир. Желательно весь.
15 апр 09, 12:32    [7066370]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
valerytin
Member [заблокирован]

Откуда: Moscow
Сообщений: 146
function getw(
-- возврат no-го слова из строки с параметрическим списком разделителей
-- valerytin, hexcept@narod.ru, apr-2006
  p_str varchar2, -- входящая строка
  p_num pls_integer:=1, -- слово по счету: >0 - от начала, <0 - с конца
  fstr varchar2:= -- список "пробелов" по умолчанию
   ' ~!@#$%^*()+=;:?,./\|[]{}"<>-_№'||chr(9)||chr(10)||chr(13)||chr(38)||chr(39)||
   chr(147)||chr(148)||chr(171)||chr(187)||chr(96)
 ) return varchar2 is
 l_str varchar2(2000);
 l_dev char:=chr(7); -- chr(7): возможность не указывать пробел в fstr
begin
 if p_str is null or p_num=0 then return null; end if;
 l_str:=
  ltrim(translate(p_str,l_dev||fstr,rpad(l_dev,80,l_dev)),l_dev);
 if l_str is null then return null; end if;
 if p_num>0 then -- если ищем от начала строки
  l_str:=ltrim(l_str,l_dev)||l_dev;
  for i in 2..p_num loop
   l_str:=ltrim(substr(l_str,instr(l_str,l_dev)),l_dev);
  end loop;
  return substr(l_str,1,instr(l_str,l_dev)-1);
 else -- ищем с конца
  l_str:=l_dev||rtrim(l_str,l_dev);
  for i in 2..-p_num loop
   l_str:=rtrim(substr(l_str,1,instr(l_str,l_dev,-1)),l_dev);
  end loop;
  return substr(l_str,instr(l_str,l_dev,-1)+1);
 end if;
 return null;
end getw;
--------------------------------------------------------------------------------
select
 getw(s,1,' ') fa,
 getw(s,2,' ') im,
 decode(getw(s,2,' '),null,null,
  decode(getw(s,3,' '),null,null,
  trim(substr(' '||s||' ',instr(' '||s||' ',' '||getw(s,3,' ')||' '))))) ot
from
(
 select '      Абасов Фархад Фикрет-Оглы' s from dual union all
 select 'Аблязов Рустем ' s from dual union all
 select 'Бахшалиев Афик Зульфали оглы' s from dual union all
 select 'Булина-Зыкина   Елена Андреевна          ' s from dual union all
 select 'Эль_гуэссаб Любовь Валерьевна' s from dual union all
 select 'Али-Абдо' s from dual union all
 select 'Фамилиев Али-Абдо' s from dual union all
 select 'Фамилиев Али-Абдо Отчествевич' s from dual union all
 select 'Фамилиев Али-Абдо Отчествевич + бла-бла бла' s from dual union all
 select 'Бендер Остап Сулейман -Берта-Мария Ибрагимович ' s from dual
)
15 апр 09, 12:42    [7066498]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 7775
SQLap
select substr('Иванов Иван Иванович', 1, instr('Иванов Иван Иванович', ' ')),
       substr('Иванов Иван Иванович', instr('Иванов Иван Иванович', ' ',2), instr('Иванов Иван Иванович', ' ',2) -1),
       substr('Иванов Иван Иванович', -instr('Иванов Иван Иванович', ' ', 2) -1)
 from dual

на Тофик газах не работает правда(

Оно и не "на Тофик газах" работает только на 1/3... :-)
select '"'||substr('Иванов Иван Иванович', 1, instr('Иванов Иван Иванович', ' '))||'"' AS f,
       '"'||substr('Иванов Иван Иванович', instr('Иванов Иван Иванович', ' ',2), instr('Иванов Иван Иванович', ' ',2) -1)||'"' AS i,
       '"'||substr('Иванов Иван Иванович', -instr('Иванов Иван Иванович', ' ', 2) -1)||'"' AS o
from dual

F         I        O
--------- -------- ----------
"Иванов " " Иван " "Иванович"
       ^   ^    ^
ТщательнЕе надо кодировать...
15 апр 09, 13:26    [7066932]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
SQLap
Member [заблокирован]

Откуда:
Сообщений: 34063
SQL*Plus

ТщательнЕе надо кодировать...


Согласен, повинен смерти
select substr('Иванов Иван Иванович', 1, instr('Иванов Иван Иванович', ' ') -1) F,
       substr('Иванов Иван Иванович', instr('Иванов Иван Иванович', ' ',2) + 1, instr('Иванов Иван Иванович', ' ',2) -3) I,
       substr('Иванов Иван Иванович', -instr('Иванов Иван Иванович', ' ', 2) -1) O
 from dual
15 апр 09, 13:39    [7067067]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
Alexey I Sereda
Member

Откуда:
Сообщений: 1
select 'Фамилия Имя Отчество'
,regexp_replace('Фамилия Имя Отчество','(.*) (.*) (.*)','\1') as f
,regexp_replace('Фамилия Имя Отчество','(.*) (.*) (.*)','\2') as i
,regexp_replace('Фамилия Имя Отчество','(.*) (.*) (.*)','\3')as o
from dual

Oracle 10.2.0.2 (в 9.2.0.5 говорят тоже работало)
По поводу регулярных выражений хорошая и небольшая статья:
http://www.interface.ru/home.asp?artId=19744
15 апр 09, 16:58    [7068847]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
Jannny
Member

Откуда: Спб
Сообщений: 6424
Alexey I Sereda
,regexp_replace('Фамилия Имя Отчество','(.*) (.*) (.*)','\1') as f
...
Oracle 10.2.0.2 (в 9.2.0.5 говорят тоже работало)
врут :)
15 апр 09, 17:13    [7069001]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 7775
Alexey I Sereda
По поводу регулярных выражений хорошая и небольшая статья:
http://www.interface.ru/home.asp?artId=19744
Первоисточник перевода этой статьи на русский язык
15 апр 09, 18:04    [7069427]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
dmidek
Member

Откуда: Киев - Дортмунд
Сообщений: 99255
SQL*Plus
Alexey I Sereda
По поводу регулярных выражений хорошая и небольшая статья:
http://www.interface.ru/home.asp?artId=19744
Первоисточник перевода этой статьи на русский язык


ИМХО со стороны interface выглядит отвратительно - никакой ссылки на первопубликацию,
а автор статьи скрыт среди рекламных баннеров где то внизу, бррр :-( :-(

Немного удивило правда и отсутствие упоминания переводчика в Оракловском варианте статьи,
это общеупотребительная практика ? ИМХО его наличие могло бы затруднить
пиратство, хотя....
15 апр 09, 18:18    [7069514]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
SQL*Plus
Member

Откуда: Россия, Москва
Сообщений: 7775
dmidek
SQL*Plus
Alexey I Sereda
По поводу регулярных выражений хорошая и небольшая статья:
http://www.interface.ru/home.asp?artId=19744
Первоисточник перевода этой статьи на русский язык

ИМХО со стороны interface выглядит отвратительно - никакой ссылки на первопубликацию,
а автор статьи скрыт среди рекламных баннеров где то внизу, бррр :-( :-(

Всё вполне в гадостном "Интерфейс"-стиле... :-(
15 апр 09, 18:25    [7069538]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
andreymx
Member

Откуда: Запорожье
Сообщений: 48429
Ещё про ФИО :)
Задумал найти те фамилии, где все буквы повторяются не менее 2 раз.
И нашёл:
Фамилия
ажажа
дейдей
дядя
колокол
кононко
лала
запрос, конечно, несложный, приводить не стал.
18 май 09, 15:10    [7193845]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как разделить ФИО на Ф, И, О?  [new]
копосов н.в.
Guest
/* Formatted on 2010/11/13 13:38 (Formatter Plus v4.8.8) */
CREATE OR REPLACE FUNCTION fio (in_fio IN VARCHAR2, in_order IN NUMBER)
   RETURN VARCHAR2
IS
   v_fio   VARCHAR2 (100);
   f       VARCHAR2 (100);
   i       VARCHAR2 (100);
   o       VARCHAR2 (100);
BEGIN
   v_fio := '...';

   IF (in_fio IS NOT NULL)
   THEN
      SELECT REGEXP_REPLACE (in_fio, '(.*) (.*) (.*)', '\1')
        INTO f
        FROM DUAL;

      SELECT REGEXP_REPLACE (in_fio, '(.*) (.*) (.*)', '\2')
        INTO i
        FROM DUAL;

      SELECT REGEXP_REPLACE (in_fio, '(.*) (.*) (.*)', '\3')
        INTO o
        FROM DUAL;

      IF (in_order = 0)
      THEN
         v_fio :=
                 f || ' ' || SUBSTR (i, 1, 1) || '.' || SUBSTR (o, 1, 1)
                 || '.';
      ELSE
         v_fio := SUBSTR (i, 1, 1) || '.' || SUBSTR (o, 1, 1) || '. ' || f;
      END IF;
   END IF;

   RETURN v_fio;
END fio;
/
13 ноя 10, 13:54    [9773313]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
orawish
Member

Откуда: Гадюкино-2 (City)
Сообщений: 15428
копосов н.в.,

set serveroutput on
exec dbms_output.put_line(regexp_replace('регулярусы вполне реализованы в sql','в sql','как в sql, так и в pl/sql :)'));
13 ноя 10, 14:11    [9773435]     Ответить | Цитировать Сообщить модератору
Между сообщениями интервал более 1 года.
 Re: Как разделить ФИО на Ф, И, О?  [new]
leone-
Member

Откуда:
Сообщений: 203
Добрый ночи.
Что нужно дописать чтоб корректно разбивало на Ф И О ДР, если нет О
Понимаю что нужно искать О до цифры.

with s as (select 'ЛЯШКО СТЕЛЛА ЛЕОНИДОВНА 10.06.1968 г.р.' ttt from dual
 union all select 'КУДРЯВЦЕВА ГАЛИНА ВИКТОРОВНА 10.05.1968 г.р.' ttt from dual
 union all select 'ПОТАТОСОВ АНДРЕЙ МИХАЙЛОВИЧ 24.06.1969 г.р.' ttt from dual
 union all select 'Сидоров Антон 24.06.1969 г.р.' ttt from dual
 union all select 'ДАГУРОВ ОЛЕГ ВАЛЕРЬЕВИЧ 27.02.1973 г.р.' ttt from dual
 union all select 'ЧАЛОВ СЕРГЕЙ АЛЕКСАНДРОВИЧ 25.07.1990 г.р.' ttt from dual
 union all select 'АЩЕУЛОВ КОНСТАНТИН ВИКТОРОВИЧ 17.10.1974 г.р.' ttt from dual
 union all select 'ИВАНОВ Семен 17.10.1974 г.р.' ttt from dual
)
select 
 regexp_replace(ttt,'(.*) (.*) (.*) (.*) (.*)','\1') f1 
,regexp_replace(ttt,'(.*) (.*) (.*) (.*) (.*)','\2') i1
,regexp_replace(ttt,'(.*) (.*) (.*) (.*) (.*)','\3') o1
,regexp_substr(ttt,'\d{2}\.\d{2}\.\d{4}') dr
,regexp_substr(ttt,'[^ ]+',1,1) f2
,regexp_substr(ttt,'[^ ]+',1,2) i2
,regexp_substr(ttt,'[^ ]+',1,3) o2
,regexp_replace(ttt,' (.*)') f3 
,regexp_replace(ttt,' (.*)|^[^ ]* ') i3 
,regexp_replace(ttt,'(.*) ') o3
,regexp_substr(ttt,'(.*) ') o3
from s

Спасибо.
5 окт 18, 22:57    [21696852]     Ответить | Цитировать Сообщить модератору
 Re: Как разделить ФИО на Ф, И, О?  [new]
MirnyiAtom
Member

Откуда:
Сообщений: 23
regexp_substr(s.ttt,'[А-Яа-яЁё]*',1,1) as f,
regexp_substr(s.ttt,'[А-Яа-яЁё]*',1,3) as i,
regexp_substr(s.ttt,'[А-Яа-яЁё]*',1,5) as o,
regexp_substr(s.ttt,'[1-3][0-9].[0-1]?[0-9].[1-2][0-9]{3} г.р.',1,1) as bt
8 окт 18, 07:54    [21697674]     Ответить | Цитировать Сообщить модератору
Топик располагается на нескольких страницах: 1 2      [все]
Все форумы / Oracle Ответить