Hi,
Sh A Guru Prasad wrote, On 12/31/2003 11:00 AM:
> select trn_id,substr(hoa_id,1,13) from tbill_master where
> substr(hoa
> _id,1,13)='2202031040006';
> trn_id | substr
> ----------------+---------------
> 25001203000416 | 2202031040006
> 25001203000417 | 2202031040006
> 25001203000418 | 2202031040006
> 25001203000419 | 2202031040006
> 25001203000420 | 2202031040006
> 25001203000421 | 2202031040006
> 25001203000422 | 2202031040006
> 25001203000536 | 2202031040006
>
> and
> select trn_id,substr(hoa_id,0,14) from tbill_master where
> substr(hoa
> _id,0,14)='2202031040006';
> trn_id | substr
> ----------------+---------------
> 25001203000416 | 2202031040006
> 25001203000417 | 2202031040006
> 25001203000418 | 2202031040006
> 25001203000419 | 2202031040006
> 25001203000420 | 2202031040006
> 25001203000421 | 2202031040006
> 25001203000422 | 2202031040006
> 25001203000536 | 2202031040006
> both give the same result how? Is it query problem or
> postgress substring problem please clarify.
why? it's ok. The first position in string is 1, but you can use 0,
-100, or whatever. The manual says:
"substring(string [from integer] [for integer])",as you see: from
integer, for integer.
SELECT substr('1234',-1,3); = 1
SELECT substr('1234',1,1); = 1
this is the expected behaviour.
C.