Обычный способ - преобразовать число в юлианскую дату, а затем преобразовать ее обратно в строку со словами. Увы, это будет работать только на английском языке sh и не будет использовать индийские подразделения, такие как Lakh и Crore.
with
inputs as (select '₹1,53,050' as price_in_rupees from dual)
select price_in_rupees,
initcap(to_char(to_date(to_number(price_in_rupees, 'L99,99,99,999',
'nls_currency=₹'), 'J'), 'JSP')) || ' Indian Rupees'
as price_spelled_out
from inputs
;
PRICE_IN_RUPEES PRICE_SPELLED_OUT
--------------- ----------------------------------------------------
₹1,53,050 One Hundred Fifty-Three Thousand Fifty Indian Rupees