Re: Oracle 10g SQL - Parsing Delimited String

A complete solution that will either find the last word or the last string as
required would be:

SELECT sample
,SUBSTR( RTRIM(sample, ‘,’)
,INSTR(RTRIM(sample, ‘,’)
,’,’ ,-1) + 1)
AS LAST_STRING
,SUBSTR( TRIM(REPLACE(sample ,’,’ ,’ ‘))
,INSTR(TRIM(REPLACE(sample ,’,’ ,’ ‘))
,’ ’ ,-1) + 1) AS LAST_WORD
FROM
(SELECT ‘Oracle 11g’ AS sample FROM DUAL UNION ALL
SELECT ‘,Oracle 9.2.1,’ AS sample FROM DUAL UNION ALL
SELECT ‘,Oracle10,’ AS sample FROM DUAL UNION ALL
SELECT ‘,Database,10g,Oracle 10,’ AS sample FROM DUAL UNION ALL
SELECT ‘,10g,Oracle20,’ AS sample FROM DUAL UNION ALL
SELECT ‘,Data,Menu,OracleAA,’ AS sample FROM DUAL
)

The result:

SAMPLE LAST_STRING LAST_WORD

Thats another brilliant solution Stephen. You folks are awesome.

Hi, group,

I just updated Toad for Oracle from version 9.5 to 10.6. As I connected to the
database and expanded Users list, user name shown the wired characters with the
error message: ORA-12571:TNS: packet writer failure.

Any solution to fix this issue is appreciated.

Thanks.

TX

Some questions about this incident:

Is this every time you do it? One of the sources I know that gives this error is
the fact that the connection with the database is lost. So if it happens only
one time, you had another problem.

What Oracle version?

You said: “expanded user list”, what do you exactly do? Is this reproducible?
Are other functions working after that?

Groetjes,
Wim

2012/1/12 tie xu

ORA-12571