edersonecris escreveu: > > Instalei o pg com o formato de data em ymd, só que agora com todo o bd > pronto, tenho que fazer umas consultas de contas a pagar. E no delphi > estou tendo que escrever as datas nesse formato para filtra por sql. Tem > como eu mudar o formato de data no pg instalado no windows de forma > definitiva (incluindo alterando os registros gravados) para o formato dmy? >
Você está confundindo o formato de exibição da data com o formato de armazenamento. Um campo date é armazenado num formato próprio (basicamente a quantidade de dias contados a partir de determinada data). Você pode instruir o PostgreSQL a como exibir os campos date bem como a maneira de interpretar uma data na entrada. Veja o item 8.5.1 em: http://www.postgresql.org/docs/8.2/interactive/datatype-datetime.html bdteste=# SELECT current_setting('datestyle'); current_setting ----------------- Postgres, MDY (1 registro) bdteste=# SELECT current_date, to_char(current_date, 'DDMONYYYY'); date | to_char ------------+----------- 01-23-2008 | 23JAN2008 (1 registro) bdteste=# -- bdteste=# -- Formato de interpretação e exibição de datas bdteste=# -- bdteste=# -- ISO bdteste=# -- bdteste=# SET datestyle TO ISO, MDY; SET bdteste=# SELECT '2007-02-09'::date, to_char('09/02/2007'::date, 'DD.MON.YYYY'); date | to_char ------------+------------- 2007-02-09 | 02.SEP.2007 (1 registro) bdteste=# SET datestyle TO ISO, DMY; SET bdteste=# SELECT '2007-02-09'::date, to_char('09/02/2007'::date, 'DD.MON.YYYY'); date | to_char ------------+------------- 2007-02-09 | 09.FEB.2007 (1 registro) bdteste=# -- bdteste=# -- SQL bdteste=# -- bdteste=# SET datestyle TO SQL, MDY; SET bdteste=# SELECT '2007-02-09'::date, to_char('09/02/2007'::date, 'DD.MON.YYYY'); date | to_char ------------+------------- 02/09/2007 | 02.SEP.2007 (1 registro) bdteste=# SET datestyle TO SQL, DMY; SET bdteste=# SELECT '2007-02-09'::date, to_char('09/02/2007'::date, 'DD.MON.YYYY'); date | to_char ------------+------------- 09/02/2007 | 09.FEB.2007 (1 registro) bdteste=# -- bdteste=# -- Postgres bdteste=# -- bdteste=# SET datestyle TO POSTGRES, MDY; SET bdteste=# SELECT '2007-02-09'::date, to_char('09/02/2007'::date, 'DD.MON.YYYY'); date | to_char ------------+------------- 02-09-2007 | 02.SEP.2007 (1 registro) bdteste=# SET datestyle TO POSTGRES, DMY; SET bdteste=# SELECT '2007-02-09'::date, to_char('09/02/2007'::date, 'DD.MON.YYYY'); date | to_char ------------+------------- 09-02-2007 | 09.FEB.2007 (1 registro) Osvaldo _______________________________________________ pgbr-geral mailing list pgbr-geral@listas.postgresql.org.br https://listas.postgresql.org.br/cgi-bin/mailman/listinfo/pgbr-geral