Oracle FAQ | Your Portal to the Oracle Knowledge Grid |
![]() |
![]() |
Home -> Community -> Usenet -> c.d.o.misc -> Re: Search Replace String function
Thanks you for your responses, Here is details about the problem:
Oracle 9i,
I have expession like : (G10)-(G1+G2*G11*G12*G22)
which is dynamically defined by user and i need to parse and replace each variable so that outcome would be :
(
NVL(SUM(DECODE(b.lookup_code,'G10',a.e_qty,0)),0)
)
- (
NVL(SUM(DECODE(b.lookup_code,'G1',a.enrollment_qty,0)),0) + NVL(SUM(DECODE(b.lookup_code,'G2',a.enrollment_qty,0)),0) * NVL(SUM(DECODE(b.lookup_code,'G12',a.enrollment_qty,0)),0) * NVL(SUM(DECODE(b.lookup_code,'G22',a.enrollment_qty,0)),0))
I had tried with REPLACE logic, but it has troubles for replacing G11,G10 etc, it treats sustring match rather than word match...
Let me know,
Thanks in advance,
DA Morgan wrote:
> Martin T. wrote:
> > Anil G wrote:
> >>>> e.g. lets say i have data into column as '(A + B + C) - (D + E)'
> >>>> I would like to have following : (
> >> Thanks for reply,
> >>
> >> But how do it can be done on 9i? REPLACE function does not solve this
> >> problem...
> >> meaning,
> >>
> >> If expression is like : (G1 + G2 + G11) * G12 * G22
> >>
> >> Then replace will have issues with G11 and G22 due to replace of G1 and
> >> G2
> >>
> > In this case regular expressions will be the best way. (except that it
> > does not come out of the box in 9i)
> > You could use a stored Java procedure to do the parsing/replacing (no
> > java regexp out of the box on 9i either, since it uses Java 1.3, I
> > think)
> >
> > best,
> > Martin
>
>
>
![]() |
![]() |