Re: SQL question

From: Jack van Zanen <jack_at_vanzanen.com>
Date: Tue, 14 Oct 2008 12:18:06 +1100
Message-ID: <77a615a70810131818s1edf1192j5f767f1b64d36d35@mail.gmail.com>


select foo||','||bar||,||baz
from mytable
/

2008/10/14 William Wagman <wjwagman_at_ucdavis.edu>

> Greetings,
>
> Running Oracle 10.2.0.3.0 on RHEL4, 64-bit.
>
> Table:
>
> foo VARCHAR2(300)
> bar CHAR(1)
> baz CHAR(1)
>
> Data:
>
> somelongishstring,A,B
> shorterstring,A,C
> shorter,A,D
>
> Query:
>
> select foo,bar,baz
> from mytable
> /
>
> Output:
>
> somelongishstring
> ,A,B
> shorterstring
> ,A,C
> shorter
> ,A,D
>
> Desired:
>
> somelongishstring,A,B
> shorterstring,A,C
> shorter,A,D
>
> SQL> select substr(foo,0,instr(foo,' ',0,1)),bar,baz from mytable;
>
> Does not work, because there's no space in the data, INSTR(FOO,' ') returns
> zero and so SUBSTR(foo,0,0) returns an empty string. > Is there any way to
> achieve the desired result in vanilla SQL*Plus short of the following (which
> looks like line noise), or resorting to PL/SQL or some other language (Perl,
> Java, ...)?
>
> select foo||','||bar||','||baz
> from mytable
> /
>
> Thanks.
> Bill Wagman
> Univ. of California at Davis
> IET Campus Data Center
> wjwagman_at_ucdavis.edu
> (530) 754-6208
>
>
>

-- 
J.A. van Zanen

--
http://www.freelists.org/webpage/oracle-l
Received on Mon Oct 13 2008 - 20:18:06 CDT

Original text of this message