Re: Error con el tipo de datos Timestamp

From: Fabiola Fernández <fabiola(dot)fg(at)gmail(dot)com>
To: "Javier Chavez Barra" <jchavezb(at)gmail(dot)com>
Cc: "Alvaro Herrera" <alvherre(at)alvh(dot)no-ip(dot)org>, pgsql-es-ayuda(at)postgresql(dot)org
Subject: Re: Error con el tipo de datos Timestamp
Date: 2007-11-21 12:13:07
Message-ID: 66f6273e0711210413rc6ced54redbd2e59d519d3d1@mail.gmail.com
Views: Raw Message | Whole Thread | Download mbox | Resend email
Thread:
Lists: pgsql-es-ayuda

On 21/11/2007, Javier Chavez Barra <jchavezb(at)gmail(dot)com> wrote:
>
> Alvaro Herrera escribió:
> > Fabiola Fernández escribió:
> >
> >> On 21/11/2007, Javier Chavez Barra <jchavezb(at)gmail(dot)com> wrote:
> >>
> >>> Fabiola Fernández escribió:
> >>>
> >
> >
> >>> Solo por curiosidad
> >>> 2007
> >>> 11
> >>> 20T --> porque una T???
> >>> 083000
> >>>
> >
> > Seguramente es derivado del formato definido por ISO 8601; claro que en
> > ese estandar se definen separadores para los campos.
> >
> >
> >> Exacto, yo también pienso eso, por eso no entiendo muy bien lo que
> pasa.
> >> Lo de la T, es un caracter designador que según entiendo se usa en un
> >> estándar del CEN para tipos de datos, pero vamos que lo he intendado
> con y
> >> sin la T y no consigo nada, me sale el mismo error.
> >>
> >
> > Probaste usando to_timestamp()?
> >
> >
> Solo como informacion adicional ...
> Extraido de : http://www.w3.org/TR/NOTE-datetime
>
> The formats are as follows. Exactly the components shown here must be
> present, with exactly this punctuation. Note that the "T" appears
> literally in the string, to indicate the beginning of the time element,
> as specified in ISO 8601.
>
> Year:
> YYYY (eg 1997)
> Year and month:
> YYYY-MM (eg 1997-07)
> Complete date:
> YYYY-MM-DD (eg 1997-07-16)
> Complete date plus hours and minutes:
> YYYY-MM-DDThh:mmTZD (eg 1997-07-16T19:20+01:00)
> Complete date plus hours, minutes and seconds:
> YYYY-MM-DDThh:mm:ssTZD (eg 1997-07-16T19:20:30+01:00)
> Complete date plus hours, minutes, seconds and a decimal fraction of a
> second
> YYYY-MM-DDThh:mm:ss.sTZD (eg 1997-07-16T19:20:30.45+01:00)
>
> where:
>
> YYYY = four-digit year
> MM = two-digit month (01=January, etc.)
> DD = two-digit day of month (01 through 31)
> hh = two digits of hour (00 through 23) (am/pm NOT allowed)
> mm = two digits of minute (00 through 59)
> ss = two digits of second (00 through 59)
> s = one or more digits representing a decimal fraction of a second
> TZD = time zone designator (Z or +hh:mm or -hh:mm)
>
> Nunca esta demas
> Gracias Alvaro no tenia idea!!
> Slds a to2..
>
> Respecto a la pregunta de Fabiola puedes tratar de forzar el formato...
>
> Slds.
> J.

Hola de nuevo, he probado a darle una longitud al timestamp desde la ventana
de creacion de tablas de pgadmin III, le he dado longitud=10 y al crear la
tabla la ha truncado a 6 (no se porque). El caso es que ya si me deja
introducir fechas tipo: 2007-11-20 08:30:00 y detecta además si la
introduzco en otro formato válido tipo 20071120T083000. Bueno, pues muchas
gracias a todos por vuestras respuestas, aunque si alguien me puede explicar
porque es necesario introducir la longitud. La sentencia de la tabla de
prueba que he hecho es la siguiente:

CREATE TABLE "Prueba"
(
"Tiempo" timestamp(6) NOT NULL,
CONSTRAINT "Prueba_pkey" PRIMARY KEY ("Tiempo")
)

Gracias!!
Fabiola

In response to

Responses

Browse pgsql-es-ayuda by date

  From Date Subject
Next Message Henry 2007-11-21 12:17:22 Re: Error con el tipo de datos Timestamp
Previous Message ricardo yanguma 2007-11-21 12:09:43 Re: Cuantas filas cargo despues de usar copy