![]() |
|
Archives of the TeradataForumMessage Posted: Tue, 07 Dec 2004 @ 12:37:38 GMT
Hi Jebaseelan, I think we can use Index, substring and concat function together to achieve the desired output. Please see the code for replacing undesired '|' character from one of the columns. Here 4 '|' instances has been checked. Please see and let me know if it can be of any use for you.
select
CASE WHEN index_1 > 0
THEN SUBSTR(TABLE_NAME.COL_NAME,1, index_1-1)
ELSE SUBSTR(TABLE_NAME.COL_NAME,1, index_1+1-1)
END AS Word_1
,CASE WHEN index_2-index_1 > 0
THEN SUBSTR(TABLE_NAME.COL_NAME, index_1+1, index_2-index_1-1)
ELSE SUBSTR(TABLE_NAME.COL_NAME, index_1+1, index_2-index_1-1+1)
END As Word_2
,CASE WHEN index_3 = index_2
THEN substr(TABLE_NAME.COL_NAME, index_2+1)
ELSE substr(TABLE_NAME.COL_NAME, index_2+1, index_3-index_2-1)
END As Word_3
,CASE WHEN index_3 = index_2 THEN ''
WHEN index_4 = index_3
THEN substr(TABLE_NAME.COL_NAME, index_3+1)
ELSE substr(TABLE_NAME.COL_NAME, index_3+1, index_4-index_3-1)
END As Word_4
,index(TABLE_NAME.COL_NAME,'|') as Index_1
,index(substr(TABLE_NAME.COL_NAME, index_1+1), '|') + Index_1 As Index_2
,index(substr(TABLE_NAME.COL_NAME, index_2+1), '|') + Index_2 As Index_3
,index(substr(TABLE_NAME.COL_NAME, index_3+1), '|') + Index_3 As Index_4
,TRIM(Word_1||' '||Word_2||' '||Word_3||' '||Word_4) as "Column_name"
From.......
Thanks, -Rajiv
| ||||||||||||||||||||||||||||||||||||||||||||||||
| | ||||||||||||||||||||||||||||||||||||||||||||||||
| ||||||||||||||||||||||||||||||||||||||||||||||||
|
| ||||||||||||||||||||||||||||||||||||||||||||||||
| Copyright 2016 - All Rights Reserved | ||||||||||||||||||||||||||||||||||||||||||||||||
| Last Modified: 15 Jun 2023 | ||||||||||||||||||||||||||||||||||||||||||||||||