Oracle FAQ Your Portal to the Oracle Knowledge Grid
HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US
 

Home -> Community -> Usenet -> c.d.o.server -> Re: SUBSTR(str,n) error

Re: SUBSTR(str,n) error

From: Mark D Powell <mark.powell_at_eds.com>
Date: 3 Jun 2002 09:29:52 -0700
Message-ID: <178d2795.0206030829.40fa3a@posting.google.com>


Marcin Buchwald <Marcin.Buchwald_at_agora.pl> wrote in message news:<3CFB356A.CD5B9AD5_at_agora.pl>...
> 11:02:54 SPA.SPAC.GWSPACER> select
> machine,length(machine),ascii(substr(machine,15,1))
> from v$session where username='VELVET';
>
> MACHINE LENGTH(MACHINE) ASCII(SUBSTR(MACHINE,15,1))
> --------------- --------------- ---------------------------
> GWNT\NT-VELVET 15 0
>
> On pl/sql level the expression:
> select machine into vmachine...
> stores this tailing '0' into the variable
>
> Let see the expression
>
> vmachine := substr(vmachine,5)
>
> THE LENGTH IS NOT KNOWN!
>
> try
> vi := length(vmachine)
>
> CONCATENATION OPERATION ON vmachine WILL NOT WORK
>
> try
> vmachine := vmachine||'12345'
>
> the solution is easy to find.
> Just use substr(vmachine,5,length(vmachine)-5-1) instead of
> substr(vmachine,5)
>
> Substr(s,n) call is documented and legal
>
> This is an error in Oracle!
> What a shame!
>
> Or maybe I misunderestand something :-9

Marcin, it might help if you posted your Oracle Version, Platform, and actual code as I am unable to duplicate your problem:

PL/SQL procedure successfully completed.

UT1> select chr(49) from dual;

C
-
1

UT1>

Everthing appears as expected in the above test.

IMHO -- Mark D Powell -- Received on Mon Jun 03 2002 - 11:29:52 CDT

Original text of this message

HOME | ASK QUESTION | ADD INFO | SEARCH | E-MAIL US