Thread: Negative integer constants don't work with "between" operator.

Negative integer constants don't work with "between" operator.

From
Jochen Topf
Date:
============================================================================
                        POSTGRESQL BUG REPORT TEMPLATE
============================================================================


Your name        : Jochen Topf
Your email address    : jochen@remote.org


System Configuration
---------------------
  Architecture (example: Intel Pentium)      : Intel Pentium

  Operating System (example: Linux 2.0.26 ELF)     : Linux 2.0.35, RedHat 5.2

  PostgreSQL version (example: PostgreSQL-6.5.1): PostgreSQL-6.5.1

  Compiler used (example:  gcc 2.8.0)        : RPMs vom ftp.postgresql.org


Please enter a FULL description of your problem:
------------------------------------------------

Negative integer constants don't work with "between" operator.



Please describe a way to repeat the problem.   Please try to provide a
concise reproducible example, if at all possible:
----------------------------------------------------------------------

This works:
test=> create table x (y int check (y >= -1 AND y <=99) );
CREATE

This doesn't:
test=> create table x (y int check (y between -1 and 99) );
ERROR:  parser: parse error at or near "-"





If you know how this problem might be fixed, list the solution below:
---------------------------------------------------------------------