Я новичок в Oracle, и мне нужно проанализировать адрес улицы США из строки, я попробовал пару вариантов с regexp substr, но не дал желаемого результата.
Вот несколько примеров из текстовой строки.
xyz 123 se stark st костюм 401
xyx 123 39 авеню ne 2nd flr n-3
xyz 213 небраска мужество путь e-1
И мой результат должен быть таким:
123 se stark st
123 39th Avenue ne
213 nebraska мужественный путь
Мой SQL до сих пор:
SELECT UPPER (
REGEXP_SUBSTR (REPLACE ('xyz 2551 38th ave ne tc 2', 'xyz '),
'((^[0-9]{1,9}+[ ]+[0-9]{1}[/]+[0-9]{1})|(^[0-9]+))'))
AS houseno,
TRIM (
UPPER (
REGEXP_SUBSTR (
REPLACE ('xyz 2551 38th ave ne tc 2', 'xyz '),
'[^0-9]+((1( )st|1st)|(2( )nd|2nd)|(3( )rd|3rd)|([1234567890]+( )th|[1234567890]+th)) +(ave(nue)?|st(reet)?|boulevard|blvd)[[:print:]]*|P(.)O(.)( )+Box( )[0-9]+|[a-z][[:print:]]*',
1,
1,
'i')))
AS street_addrerss,
UPPER (REPLACE ('xyz 2551 38th ave ne tc 2', 'xyz ')) AS orginal_text
FROM DUAL;
Заранее спасибо!!