Oracle-compatible lpad/rpad behavior - Mailing list pgsql-general

From Tom Lane
Subject Oracle-compatible lpad/rpad behavior
Date
Msg-id 13946.976218690@sss.pgh.pa.us
Whole thread Raw
In response to AW: [HACKERS] Re: is it a bug?  (Zeugswetter Andreas SB <ZeugswetterA@wien.spardat.at>)
List pgsql-general
Zeugswetter Andreas SB <ZeugswetterA@wien.spardat.at> writes:
>> lpad and rpad never truncate, they only pad.
>>
>> Perhaps they *should* truncate if the specified length is less than
>> the original string length.  Does Oracle do that?

> Yes, it truncates, same as Informix.

I went to fix this and then realized I still don't have an adequate spec
of how Oracle defines these functions.  It would seem logical, for
example, that lpad might truncate on the left instead of the right,
ie lpad('abcd', 3, 'whatever') might yield 'bcd' not 'abc'.  Would
someone check?

Also, what happens if the specified length is less than zero?  Error,
or is it treated as zero?

            regards, tom lane

pgsql-general by date:

Previous
From: Soma Interesting
Date:
Subject: multi-byte support
Next
From: "Michael Miyabara-McCaskey"
Date:
Subject: Bug? Insert into new Datatype 7.0.x