Thread: SQL Error
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
> 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
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