El día 3 de noviembre de 2008 9:55, Javier Chávez B. <[EMAIL PROTECTED]> escribió: > 2008/11/3 Alvaro Herrera <[EMAIL PROTECTED]>: >> Simeó Reig (Informes Incofisa) escribió: >> >>> Hay alguna manera de eliminar la parte decimal de un campo time ? He >>> intentado poner el siguiente default: >> >> Prueba con time(0) >> >>> horamodificacio time without time zone NOT NULL DEFAULT >>> (split_part(("time"('now'::text))::text, '.'::text, 1))::time without >>> time zone, >> >> Jamás uses funciones para manipular texto en campos que no son texto. >> Es ineficiente e innatural. Pierdes robustez: si cambias una opcion que >> determine la forma en que se despliegan (por ej. datestyle), puede >> empezar a corromper los datos en forma silenciosa. > > Como es eso porque ...??? solo me asalta la duda...
Un ejemplo simple: Supongamos que muestras una fecha como 01/11/2008 (1 de noviembre de 2008), y por ABC razones migraste de servidor PostgreSQL a otra distribución, para la cual el 01/11/2008 ahora significa 11 de enero de 2008. Hasta que no te des cuenta de que eso está malo, todos los informes, reportes y cálculos que haga tu base de datos están malos. La idea de usar la función correcta en el lugar correcto no es sólo de PostgreSQL, sino de todos los lenguajes de programación. En la medida que uses eso como una práctica de vida, te ahorrarás muchísimos problemas. Saludos, -- Rodrigo Fuentealba http://www.thecodekeeper.net/ -- TIP 4: No hagas 'kill -9' a postmaster