Stephane,

You could write a plsql by defiining a variable with 32K (like
fetch_log_value    varchar2(32760))
You could fetch the long data type column value into fetch_long_value
variable after opening the cursor. After that you can use substr on this
variable.


Baskar

-----Original Message-----
Sent: 04 July 2001 23:20
To: Multiple recipients of list ORACLE-L


Mark Liggayu wrote:
> 
> HI GURUS,
> 
> If I have a table that has a field with long data type and I want to get
the
> first 250 characters out of it how can I do it.  I tried using SUBSTR(long
> data type field, 1, 250) but it complained about "ORA-00932: inconsistent
> datatypes".  I then tried TO_CHAR(SUBSTR(long data type field, 1, 250))
but
> still gave me the same result.  Tried TO_VARCHAR2 but to no avail.
> 
> Thanks,
> Mark
> 

You can't apply a function to a LONG (but perhaps the LONG-to-LOB
conversions of 8i). If this is possible to you (ie Oracle version
supporting it), convert to CLOB or similar.
Otherwise, all I can think of is a user-written PL/SQL function (would
work with Oracle 7.3 and, of course, above). In PL/SQL, VARCHAR2 can be
up to 32K (or around) and you CAN select a LONG into a large enough
VARCHAR2. If your LONGs are under 32K, it is easy to write a function
LONGSTART which fetches the suitable LONG into a suitably long VARCHAR2,
and returns the 250 first characters of this VARCHAR2. Note that I am
talking about feasibility, not performance (it may not be THAT bad but I
wouldn't do it on millions of rows).
-- 
HTH,

Stephane Faroult
Oriole Corporation
Voice:  +44  (0) 7050-696-269 
Fax:    +44  (0) 7050-696-449 
Performance Tools & Free Scripts
--------------------------------------------------------------
http://www.oriole.com, designed by Oracle DBAs for Oracle DBAs
--------------------------------------------------------------
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Stephane Faroult
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).
-- 
Please see the official ORACLE-L FAQ: http://www.orafaq.com
-- 
Author: Ramasamy, Baskar
  INET: [EMAIL PROTECTED]

Fat City Network Services    -- (858) 538-5051  FAX: (858) 538-5051
San Diego, California        -- Public Internet access / Mailing Lists
--------------------------------------------------------------------
To REMOVE yourself from this mailing list, send an E-Mail message
to: [EMAIL PROTECTED] (note EXACT spelling of 'ListGuru') and in
the message BODY, include a line containing: UNSUB ORACLE-L
(or the name of mailing list you want to be removed from).  You may
also send the HELP command for other information (like subscribing).

Reply via email to