2016-06-27 2 views
0

В настоящее время работает в Microsoft Access, записывая PTQ в Oracle Data Warehouse.Справка REGEXP - Oracle Pass Through Query

Одно из полей - это поле описания, которое содержит буквенно-цифровые строки. Иногда все символы, иногда включение 9-значного числа. Я хочу, чтобы иметь возможность сделать это, если есть 9-значное число, чтобы выбрать его из этого поля описания и создать с ним новое поле.

SELECT description 
    REGEXP_SUBSTR(* here goes the reg exp *) "REGEXPR_SUBSTR" 
FROM myTable 

REGEXP_SUBSTR 

ответ

0
select * from 
(
SELECT REGEXP_SUBSTR("desc",'\d{9}') REGEXPR_SUBSTR FROM temp1 
) 
where REGEXPR_SUBSTR is not null; 

Thil будет работать отлично. Он отклоняет нули и принимает только 9 цифр. Последний ответ, который я писал, спешил. Mi scuzi :)

+0

Это работало отлично. Большое вам спасибо за помощь! – bm0r3son

0

У меня нет SQLDeveloper или SQLPlus, чтобы проверить это, но позвольте мне попробовать:

SELECT REGEXP_SUBSTR(descritpion,'\d{0,9}') "REGEXPR_SUBSTR" FROM myTable 
+0

Это, похоже, не работает полностью - оно не возвращает никаких ошибок, но возвращает тонну пустых строк, а затем строки с любыми # цифрами в них. Сможете ли вы помочь мне подумать о более эффективном способе обеспечения захвата только строки из 9 чисел и помещения ее в свою колонку? Извините за то, что я так нуждаюсь - я действительно застрял на этом. – bm0r3son