type to_char postgres now manejo fechas example ejemplos date_part postgresql

to_char - postgresql select date now



¿Cómo altero el formato de fecha en Postgres? (3)

Me aparece el siguiente mensaje de error

ERROR: valor del campo de fecha / hora fuera de rango: "13/01/2010" SUGERENCIA: Tal vez necesite un ajuste de "estilo de datos" diferente.

Quiero obtener mi fecha en el formato DD / MM / YYYY


Puede establecer el estilo de fecha en europeo (dd / mm / aaaa):

SET DateStyle TO European;

Sin embargo, aconsejaría no hacerlo. Generalmente trato de convertir entre formatos y mantengo las fechas con formato ISO en la fuente de datos. Después de todo, es solo una cuestión de representación, no una cuestión de datos diferentes.


Editar :

Al usar esta COPIA, el formato de entrada válido se define por la configuración del servidor y puede cambiarse para la sesión actual usando el comando ESTABLECER como lo describe Berry o ajustando la configuración del servidor.

Descripción de DateStyle en el manual:
http://www.postgresql.org/docs/current/static/runtime-config-client.html#GUC-DATESTYLE

Lo siguiente no es válido para la situación real, pero lo guardo como referencia

Cuando se usan literales de fecha (o marca de tiempo) siempre especifique una máscara de formato para convertirlos. De lo contrario, sus declaraciones no serán portátiles y no se ejecutarán necesariamente en todas las instalaciones.

El estándar ANSI SQL para literales de fecha es así:

UPDATE some_table SET date_column = DATE ''2011-05-25'' WHERE pk_column = 42;

Si no puede cambiar el formato literal, debe aplicar la función to_date ()

UPDATE some_table SET date_column = to_date(''13/01/2010'', ''dd/mm/yyyy'') WHERE pk_column = 42;

Si esto no es lo que está haciendo, debe mostrarnos la declaración SQL completa que generó el error.


SHOW datestyle; DateStyle ----------- ISO, MDY (1 row) INSERT INTO container VALUES (''13/01/2010''); ERROR: date/time field value out of range: "13/01/2010" HINT: Perhaps you need a different "datestyle" setting. SET datestyle = "ISO, DMY"; SET INSERT INTO container VALUES (''13/01/2010''); INSERT 0 1 SET datestyle = default; SET

http://www.postgresql.org/docs/current/static/runtime-config-client.html#GUC-DATESTYLE

DateStyle: establece el formato de visualización para los valores de fecha y hora, así como las reglas para interpretar los valores de entrada de fecha ambiguos. Por razones históricas, esta variable contiene dos componentes independientes: la especificación de formato de salida (ISO, Postgres, SQL o alemán) y la especificación de entrada / salida para pedidos año / mes / día (DMY, MDY o YMD).

Por supuesto, es mejor utilizar un formato de entrada no ambiguo (ISO 8601), pero no hay ningún problema para ajustarlo cuando lo necesite.