BUG #15971: Behaviour of SUBSTR function depending on its arguments - Mailing list pgsql-bugs

From PG Bug reporting form
Subject BUG #15971: Behaviour of SUBSTR function depending on its arguments
Date
Msg-id 15971-965406c5a667c01a@postgresql.org
Whole thread Raw
Responses Re: BUG #15971: Behaviour of SUBSTR function depending on its arguments  (Ashutosh Sharma <ashu.coek88@gmail.com>)
Re: BUG #15971: Behaviour of SUBSTR function depending on itsarguments  (Thomas Kellerer <spam_eater@gmx.net>)
Re: BUG #15971: Behaviour of SUBSTR function depending on its arguments  (Pavel Stehule <pavel.stehule@gmail.com>)
List pgsql-bugs
The following bug has been logged on the website:

Bug reference:      15971
Logged by:          VIMAL VICTOR B
Email address:      bvimalvictor@gmail.com
PostgreSQL version: 10.4
Operating system:   Linux
Description:

Hi,

select substr('abcdef',1,2) val1, substr('abcdef',0,2) val2,
substr('abcdef',-1,2) val3;

The above query in Postgres returns expected result for val1 ('ab') but for
val2 and val3, it returns 'a' and '' respectively. Oracle and most of other
RDBMS systems would return 'ab' for val1 and val2. When the start position
is -ve, then the start position will be considered from end of input string.
The start position can be considered either as 0 or 1 and substring from
that position can be returned by considering the max length of the input
string, which is logically correct. But when -ve value given for start
position and returning empty string '', which does not seem logically
correct. Kindly consider this case and let me know your thoughts.

Regards,
Vimal


pgsql-bugs by date:

Previous
From: Petar Masev
Date:
Subject: RE: Postgres 11.5.1 failed installation
Next
From: Sandeep Thakkar
Date:
Subject: Re: Postgres 11.5.1 failed installation