[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

Re: fallo con las fechas en postgres 7.0



On Sun, 28 Jan 2001, Paco Brufal wrote:

> Hola!
> 
> 	Tengo un problema con las fechas en postgres 7.0. Según la
> documentación, la variable que define el formato de fecha es DATESTYLE (en
> /etc/postgresql/postmaster.init). Pues bien, ponga el formato que ponga,
> siempre me sale como mes-dia-año (US o NONEURO), cuando yo quiero que salga
> como dia-mes-año (POSTGRES o EURO).
> 
> 	He buscado por toda la doc y no sé como arreglarlo...

Supongo que has parado y rearrancado postgres verdad ?

Tambien te quiero advertir que EURO te puede dar problema en algunas
de las inserciones de registros que contegan la eñe. 

!! OJO !!. Conviene probar bien porque no falla siempre. A mi me 
fallaba solo con algunos registros.

Suena extraño pero antes de continuar con EURO, o con otras opciones
distintas de LATIN1 en BD que puedan contener eñes entre sus datos 
recomiendo como mínimo probar lo siguiente:

========8<----(cortar por aqui)-------------------------------------
# incluir el nombre de una BD accesible
DB='tienda'
psql -d ${DB} <<FIN
drop table tbug;
create table tbug (
        num_pedido     int4 NOT NULL, 
	total          int4 NOT NULL, 
	fech_pedido    date NOT NULL,
	cp             varchar(15), 
	pais           varchar(45),
	fchfact        date, 
	anotaciones    varchar(600), -- Comentarios descripcion del pedido
	PRIMARY KEY (num_pedido)) ;

psql -d ${DB} <<FIN
INSERT INTO tbug  ( num_pedido , total , fech_pedido , cp , pais , anotaciones  ) VALUES (  991  ,  4924  ,  '28-09-2000'  ,  '35012'  ,  'España'  ,  ' - - ' );
FIN

psql -d ${DB} <<FIN
INSERT INTO tbug  ( num_pedido , total , fech_pedido , cp , pais , anotaciones  ) VALUES (  992  ,  4924  ,  '28-09-2000'  , NULL ,  NULL  ,  ' -- ' );
FIN

psql -d ${DB} <<FIN
INSERT INTO tbug  ( num_pedido , total , fech_pedido , cp , pais , anotaciones  ) VALUES (  993  ,  4924  ,  '28-09-2000'  ,  '35012'  ,  'España'  ,  ' -- ' );
FIN

psql -d ${DB} <<FIN
INSERT INTO tbug  ( num_pedido , total , fech_pedido , cp , pais , anotaciones  ) VALUES (  994  ,  4924  ,  '28-09-2000'  ,  'A5012'  ,  'España'  ,  ' - - ' );
FIN

psql -d ${DB} <<FIN
INSERT INTO tbug  ( num_pedido , total , fech_pedido , cp , pais , anotaciones  ) VALUES (  995  ,  4924  ,  '28-09-2000'  ,  'A5012'  ,  'España'  ,  ' -- ' );
FIN

psql -d ${DB} <<FIN
SELECT * FROM tbug;
FIN
========8<----(cortar por aqui)-------------------------------------

Dependiendo de las versiones de Postgres algunas inserciones pueden 
fallar. A mi estas pruebas me han servido pero son solo son una selección
de casos que a mi me dieron problemas.

El registro 992 es el único registro que no contiene ninguna 'ñ'. 
Elimino la 'ñ' en todos los demás ('España'->'Espaa') y entonces
desaparecen los problemas. 

Yo ahora uso LATIN1 y recomiendo a los que usen otras cosas que hagan
algunas pruebas antes de continuar. 


Un saludo

Antonio Castro

+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+
        /\     /\      Ciberdroide Informática (Tienda de Linux)
          \\W//            <<< http://www.ciberdroide.com >>>
	 _|0 0|_                                                    
+-oOOO--(___o___)--OOOo----------------------------------------------------+ 
|  . . . . U U . . . . Antonio Castro Snurmacher  acastro@ciberdroide.com  |  
|  . . . . . . . . . .                                                     | 
+()()()----------()()()----------------------------------------------------+
| *** 1.700 sitios clasificados por temas sobre Linux en ***Donde_Linux*** |
| <<< http://www.ciberdroide.com/misc/donde/dondelinux.html >>>            |
+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+--+




Reply to: