По словам Йенса в комментариях, поддержка JSON доступна только 12c, но вы можете использовать регулярные выражения, как обходной путь, чтобы получить то, что вы хотите:
select regexp_replace(regexp_substr('[{"id": "1", "contactBy":"Rajesh Kumar"},{"id": "2","contactBy": "Emmanuel Test"}]',
'"contactBy":\s*("(\w|)*")', 1, level),
'"contactBy":\s*"((\w|)*)"', '\1', 1, 1) contact
from dual
connect by regexp_substr('[{"id": "1","contactBy":"Rajesh Kumar"},{"id": "2","contactBy": "Emmanuel Test"}]', '"contactBy":\s*("(\w|)*")', 1, level) is not null
;
EDIT: запрос изменен, чтобы принимать как специальные символы и отображать ответы в одной строке:
select listagg(contact, ', ') within group (order by lev)
from
(
select regexp_replace(regexp_substr('[{"id": "1", "contactBy":"Rajesh Kumar"},{"id": "2","contactBy": "Emmanuel Test+-"}]',
'"contactBy":\s*(".*?")', 1, level),
'"contactBy":\s*"(.*?)"', '\1', 1, 1) contact, level lev
from dual
connect by regexp_substr('[{"id": "1","contactBy":"Rajesh Kumar"},{"id": "2","contactBy": "Emmanuel Test+-"}]', '"contactBy":\s*(".*?")', 1, level) is not null
)
;
Встроенная поддержка JSON доступна с Oracle 12c [documenation] (http://docs.oracle.com/database/121/ADXDB/json.htm#ADXDB6246) –
В противном случае я думаю, ваш лучший шанс на используйте сохраненную java или, возможно, pl/sql. Зависит от ваших конкретных потребностей - пример кода? –
30 секунд Google: http://sourceforge.net/projects/pljson/ –