Hello

It has little bit strange behave on 8.3. It works well, but I have to
use casting.

postgres=# select substring('1234' from to_number('3', '999999') for 3);
ERROR:  function pg_catalog.substring(unknown, numeric, integer) does not exist
LINE 1: select substring('1234' from to_number('3', '999999') for 3)...
              ^
HINT:  No function matches the given name and argument types. You
might need to add explicit type casts.

postgres=# select substring('1234' from to_number('3', '999999')::int for 3);
substring
-----------
34
(1 row)

Regards
Pavel Stehule



2007/7/10, Carlos Quintero <[EMAIL PROTECTED]>:

The following bug has been logged online:

Bug reference:      3435
Logged by:          Carlos Quintero
Email address:      [EMAIL PROTECTED]
PostgreSQL version: 8.2.4
Operating system:   Linux RedHat Enterprise 3
Description:        problem with substring function
Details:

Hi,

I like to use a numerical expression as parameter for the substring
function, but it works always as i use regular expressions. Please, try
this:

select substring('1234' from to_number('3', '999999') for 3);

What returns a empty string:

 substring
-----------

(1 fila)

But the right result must be this:

select substring('1234' from 3 for 3);

 substring
-----------
 34
(1 fila)

If i use other numbers, i got even some errors:

select substring('1234' from to_number('33', '999999') for 3);

ERROR:  la expresión regular no es válida: invalid backreference number
CONTEXTO:  función SQL «substring» en la sentencia 1

This is a sample, really i like to use an expression using date_part() as
the first parameter for substring.


Best Regards,
Carlos

---------------------------(end of broadcast)---------------------------
TIP 2: Don't 'kill -9' the postmaster


---------------------------(end of broadcast)---------------------------
TIP 1: if posting/reading through Usenet, please send an appropriate
      subscribe-nomail command to [EMAIL PROTECTED] so that your
      message can get through to the mailing list cleanly

Reply via email to