Thread: SQL Error

SQL Error

From
Rafal Kedziorski
Date:
Hallo,

I have following table:

CREATE TABLE "scheduler_action" (  "scheduler_action_id"  numeric(30) NOT NULL,  "action_type"          numeric(4) NOT
NULL, "priority"             numeric(4) NOT NULL,  "referenced_id"        numeric(30) NOT NULL,  "invocation_date"
numeric(30)NOT NULL,  "is_done"              numeric(1) NOT NULL,  PRIMARY KEY ("scheduler_action_id")
 
);

My quety look so:

select t0_o.scheduler_action_id from scheduler_action t0_o where 
t0_o.is_done = 0 and t0_o.invocation_date <= 1034033214921

And I get following error:

ERROR:  Unable to identify an operator '<=' for types 'numeric' and 'double 
precision'        You will have to retype this query using an explicit cast

But if my query looks like:

select t0_o.scheduler_action_id from scheduler_action t0_o where 
t0_o.is_done = 0 and t0_o.invocation_date <= '1034033214921'

"invocation_date" is numeric with p=30 and s=0.


Best Regards,
Rafal



Re: SQL Error

From
Christoph Haller
Date:
> CREATE TABLE "scheduler_action" (
>    "scheduler_action_id"  numeric(30) NOT NULL,
>    "action_type"          numeric(4) NOT NULL,
>    "priority"             numeric(4) NOT NULL,
>    "referenced_id"        numeric(30) NOT NULL,
>    "invocation_date"      numeric(30) NOT NULL,
>    "is_done"              numeric(1) NOT NULL,
>    PRIMARY KEY ("scheduler_action_id")
> );
>
> My quety look so:
>
> select t0_o.scheduler_action_id from scheduler_action t0_o where
> t0_o.is_done = 0 and t0_o.invocation_date <= 1034033214921
>
> And I get following error:
>
> ERROR:  Unable to identify an operator '<=' for types 'numeric' and
'double
> precision'
>          You will have to retype this query using an explicit cast
>
> But if my query looks like:
>
> select t0_o.scheduler_action_id from scheduler_action t0_o where
> t0_o.is_done = 0 and t0_o.invocation_date <= '1034033214921'
>
> "invocation_date" is numeric with p=30 and s=0.
>
I've got the same error message on
select version();                           version
---------------------------------------------------------------PostgreSQL 7.2.1 on hppa-hp-hpux10.20, compiled by GCC
2.95.2

but
select t0_o.scheduler_action_id from scheduler_action t0_o where
template1-# t0_o.is_done = 0 and t0_o.invocation_date <=
1034033214921::numeric ;
did work;
I cannot see why this is necessary, and I cannot understand why nobody
else
replied to both of your requests.

Regards, Christoph



Re: SQL Error

From
Achilleus Mantzios
Date:
select t0_o.scheduler_action_id from scheduler_action t0_o where
t0_o.is_done = 0 and t0_o.invocation_date <= 1034033214921::numeric;

seems to work in
PostgreSQL 7.2.1 on i686-pc-linux-gnu, compiled by GCC 2.96

The reason that this query worked in hpux without the explicit
casting is maybe hpux runs on a 64-bit architecture processor

==================================================================
Achilleus Mantzios
S/W Engineer
IT dept
Dynacom Tankers Mngmt
Nikis 4, Glyfada
Athens 16610
Greece
tel:    +30-10-8981112
fax:    +30-10-8981877
email:  achill@matrix.gatewaynet.com       mantzios@softlab.ece.ntua.gr