![]() |
|
Archives of the TeradataForumMessage Posted: Sun, 28 Jul 2002 @ 04:43:26 GMT
Hi Everyone: When I replied to the string replacement question with a technique to change 1 character per pass, I mentioned that it could be written to change 2 per pass. Several people asked me how to do it. So, I finally had some time to test it and here it is:
/* contents before update */
sel * from switcher;
*** Query completed. 2 rows found. One column returned.
swcol
------------
acct-chg-it
account-chg-
/* changes 2 "-" characters to "_" characters */
upd switcher
from (sel col1
,SUBSTRING(col2 FROM 1 FOR
POSITION('-' IN col2)-1 ) ||'_'
||SUBSTRING(col2 FROM POSITION('-' IN col2)+1 ) from
( sel * from ( SELECT swcol
,SUBSTRING(swcol FROM 1 FOR
POSITION('-' IN swcol)-1 ) ||'_'
||SUBSTRING(swcol FROM POSITION('-' IN swcol)+1 )
FROM switcher) dt (col1, col2) ) dt2 ) dt3(cola, colb)
set swcol = colb
where cola = swcol;
/* contents after update */
sel * from switcher;
*** Query completed. 2 rows found. One column returned.
swcol
------------
acct_chg_it
account_chg_
Hope this gives you some ideas. Regards, Mike
| ||||||||||||||||||||||||||||||||||||||||||||||||
| | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
| Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||