Thread: date style bug
Hi, I'm having this bug ramdonly, some time with a "vacuum analyze" goes away but not always here the info: obelix3=> select version(); version --------------------------------------------------------------- PostgreSQL 7.0.3 on i686-pc-linux-gnu, compiled by gcc 2.95.2 (1 row) obelix3=> set datestyle=postgres,us; SET VARIABLE obelix3=> select * from orden_visita where fecha_emision <= 'today'::date; numero | corredor | ejecutivo | remoto | cliente | retira | tipo_operac ion | fecha_emision --------+----------+-----------+-----------+-----------+-----------+------------ ----+--------------- 292 | 78626380 | 6607775 | 127.0.0.1 | 8779524 | 8779524 | Venta QUERY RUNS OK. obelix3=> set datestyle=postgres,euro; SET VARIABLE obelix3=> select * from orden_visita where fecha_emision <= 'today'::date; ERROR: Bad date external representation '07-17-2001' BUG. Please help me I'm near suicide ... Thanx. -- ______________________________________________________ Felipe Alvarez Harnecker. QlSoftware. Tels. 665.99.41 - 09.874.60.17 e-mail: felipe.alvarez@qlsoft.cl http://qlsoft.cl/ http://ql.cl/ ______________________________________________________
Felipe Alvarez Harnecker <felipe@qlsoft.cl> writes: > obelix3=> set datestyle=postgres,euro; > SET VARIABLE > obelix3=> select * from orden_visita where fecha_emision <= 'today'::date; > ERROR: Bad date external representation '07-17-2001' Since '07-17-2001' is *not* a valid date in Euro convention (dd-mm-yyyy), I don't see any bug here. I take it fecha_emision is a text or varchar field that your query is casting to date on-the-fly. Perhaps you'd be better advised to use datatype date (or timestamp) for the field in the first place. regards, tom lane
> I'm having this bug ramdonly, some time with a "vacuum analyze" goes > away but not always Likely not related at all. > obelix3=> set datestyle=postgres,us; > SET VARIABLE > obelix3=> select * from orden_visita where fecha_emision <= 'today'::date; > numero | corredor | ejecutivo | remoto | cliente | retira | tipo_operac > ion | fecha_emision > --------+----------+-----------+-----------+-----------+-----------+------------ > ----+--------------- > 292 | 78626380 | 6607775 | 127.0.0.1 | 8779524 | 8779524 | > Venta > QUERY RUNS OK. What is the value of the fecha_emision column? What is the schema? > > obelix3=> set datestyle=postgres,euro; > obelix3=> select * from orden_visita where fecha_emision <= 'today'::date; > ERROR: Bad date external representation '07-17-2001' What is the schema? I'll guess that fecha_emision is not actually a date type (either date or timestamp) but rather a text field. That is the only way I can think of to provoke an "external representation" error. More details please. - Thomas
Thomas Lockhart writes: > > I'm having this bug ramdonly, some time with a "vacuum analyze" goes > > away but not always > > Likely not related at all. > > > obelix3=> set datestyle=postgres,us; > > SET VARIABLE > > obelix3=> select * from orden_visita where fecha_emision <= 'today'::date; > > numero | corredor | ejecutivo | remoto | cliente | retira | tipo_operac > > ion | fecha_emision > > --------+----------+-----------+-----------+-----------+-----------+------------ > > ----+--------------- > > 292 | 78626380 | 6607775 | 127.0.0.1 | 8779524 | 8779524 | > > Venta > > QUERY RUNS OK. > > What is the value of the fecha_emision column? What is the schema? > > > > obelix3=> set datestyle=postgres,euro; > > obelix3=> select * from orden_visita where fecha_emision <= 'today'::date; > > ERROR: Bad date external representation '07-17-2001' > > What is the schema? I'll guess that fecha_emision is not actually a date > type (either date or timestamp) but rather a text field. That is the > only way I can think of to provoke an "external representation" error. > > More details please. > > - Thomas > Here is it: ------------- obelix3=> \d orden_visita Table "orden_visita" Attribute | Type | Modifier ----------------+---------+----------------------------------------------------------- numero | integer | not null default nextval('orden_visita_numero_seq'::text) corredor | integer | not null ejecutivo | integer | not null remoto | inet | not null cliente | integer | not null retira | integer | not null tipo_operacion | text | not null default 'Arriendo' fecha_emision | date | default date("timestamp"('now'::text)) Index: orden_visita_pkey -- ______________________________________________________ Felipe Alvarez Harnecker. QlSoftware. Tels. 665.99.41 - 09.874.60.17 e-mail: felipe.alvarez@qlsoft.cl http://qlsoft.cl/ http://ql.cl/ ______________________________________________________