No se cual es el tipo de dato más acertado para guardar números con coma y dos decimales.
Muchas gracias.
| ||||
Respuesta: tipo dato con coma Existen: real 4bytes con precisión de 6 decimales. numeric Sin limite con los decimales que requieras. Decimal Sin limite con los decimales que requieras. bouble precision 8 bytes con precisión de 15 decimales. Para tu caso podría ser el tipo de datos decimal que se compone de dos parámetros. decimal(precision,scale) Donde precision es la totalidad de digitos del numero, y scale el numero de decimales de precision. Sin embargo, este tipo de datos tiene a ser mas lento que otros tipos de datos. Puedes considerar el uso de float y redondearlo al 2 decimales en caso de que lo requieras. Fuente: http://www.postgresql.org/docs/8.2/s...e-numeric.html
__________________ Without data, You are another person with an opinion. W. Edwads Deming Última edición por huesos52; 17/04/2009 a las 07:52 |
| ||||
Respuesta: tipo dato con coma Cita: El caso es que estoy intentando introducir datos desde un archivo desde línea de comandos de Postgree, y precisamente el campo que incluye una coma como separador decimal -numeric(5,3)- me da el error:
Iniciado por Sergestux "...solo es cuestion de darle el formato adecuado con el lenguaje que estes utilizando" Cita: Y el caso es que el S.O. (Windows) tiene especificado la coma como separador de decimales.
Iniciado por Postgres De hecho, googleando me encuentro un montón de foros que dicen lo mismo: Cita: Pero Postgree no parece que le haga mucho caso a mi Xp.... ¿Alternativas? depende del S.O. la especificación del separador de decimales Última edición por nekcab; 12/09/2009 a las 06:25 |
| ||||
Respuesta: tipo dato con coma describe bien el problema nekcab... no logro entender bien donde tienes problema. La coma en la declaración de la tabla te genera problemas en el archivo de importación? saludos
__________________ Without data, You are another person with an opinion. W. Edwads Deming |
| ||||
Respuesta: tipo dato con coma A ver si ahora si: Importo datos a mi B.D. a través del comando "copy" y un archivo externo (preparado a tal efecto). Hasta ahí bien. El caso es que uno de los campos le he dado formato: "numeric(5,3)" pero en el archivo externo en cuestión, los decimales utilizan COMA como separador de decimales. Y al importar me da el error anteriormente descrito. Ah, y en el sistema operativo se ha especificado la COMA como separador de decimales. |
| ||||
Respuesta: tipo dato con coma cambia a varchar o text el camp mientras haces la importación. Cuando los datos esten insertados, lo restableces con un alter table.
__________________ Without data, You are another person with an opinion. W. Edwads Deming |
| ||||
Respuesta: tipo dato con coma Tras el cambio de formato de campo, sí que introduzco los datos, pero, luego no me permite dejarlo en modo numérico. Nada, el caso es que recuerdo que el paso brusco en un campo Postgre SQL de letra a número (puede que me falle la memoria) siempre me dió problemas: Cita: Y curiosamente, una vez realizados todos estos pasos, ya no me deja deshacer lo andado (incluso borrando los nuevos registros que introduje tras el cambio a VARCHAR ), y el campo "SIZE" se tiene que quedar como VARCHAR nada más. musica=# alter table titulos alter column size type varchar(5); ALTER TABLE musica=# copy titulos from 'aaa.csv' CSV header delimiter ';'; COPY 537 musica=# alter table titulos alter column size type numeric(5,2); ERROR: la columna «size» no puede convertirse al tipo «pg_catalog.numeric» |
| ||||
Respuesta: tipo dato con coma prueba así: musica=# alter table titulos alter column size type numeric(5,2) using size::numeric; nos cuentas como te va
__________________ Without data, You are another person with an opinion. W. Edwads Deming |