string - to_char - PostgreSQL: cadena de conversión hasta la fecha DD/MM/YYYY
to_char postgresql mes en español (2)
Una columna DATE
no tiene un formato. No puede especificar un formato para ello.
Puede usar DateStyle
para controlar cómo PostgreSQL emite fechas, pero es global y un poco limitado.
En su lugar, debe usar to_char
para formatear la fecha en que lo consulta, o formatearlo en la aplicación cliente. Me gusta:
SELECT to_char("date", ''DD/MM/YYYY'') FROM mytable;
p.ej
regress=> SELECT to_char(DATE ''2014-04-01'', ''DD/MM/YYYY'');
to_char
------------
01/04/2014
(1 row)
Estoy intentando convertir una columna VARIADOR DE PERSONAJE a una FECHA pero necesito un formato de fecha como este: DD / MM / YYYY. Yo uso el siguiente SQL:
ALTER TABLE test ALTER COLUMN date TYPE DATE using to_date(date, ''DD/MM/YYYY'');
El resultado es una fecha como esta: YYYY-MM-DD.
¿Cómo puedo obtener el formato DD / MM / YYYY?
Muchas gracias por adelantado !
Thomas
https://www.postgresql.org/docs/current/static/datatype-datetime.html#DATATYPE-DATETIME-OUTPUT
El formato de salida de los tipos de fecha / hora se puede establecer en uno de los cuatro estilos ISO 8601, SQL (Ingres), POSTGRES tradicional (formato de fecha de Unix) o alemán. El valor predeterminado es el formato ISO.
Por lo tanto, este formato particular se puede controlar con la fecha y hora de salida de postgres, por ejemplo:
t=# select now();
now
-------------------------------
2017-11-29 09:15:25.348342+00
(1 row)
t=# set datestyle to DMY, SQL;
SET
t=# select now();
now
-------------------------------
29/11/2017 09:15:31.28477 UTC
(1 row)
t=# select now()::date;
now
------------
29/11/2017
(1 row)
datestyle
cuenta que, como Craig mencionó en su respuesta, cambiar el estilo de datestyle
también (y en el primer turno) cambiará la manera en que Postgres analiza la fecha.