2012-04-18 19 views

Respuesta

68

moldeada a timestamp(0) o timestamptz(0) para eliminar las fracciones de segundo:

SELECT now()::timestamp(0); 

Como @karlgold comentó, esta rondas a segundos enteros y fracciones no se almacenan si se mantiene operando con este tipo de datos.

Use date_trunc() para necesidades más específicas.

SELECT date_trunc('second', now()::timestamp); 

Este trunca (hojas segundos sin cambios). La manipulación adicional puede volver a introducir segundos fraccionarios.

Por supuesto, se puede combinar tanto - esta vez retirar la segunda parte así:

SELECT date_trunc('minute', now())::timestamp(0); 

Pero tenga en cuenta que la asignación de este valor a una columna o variable de un tipo de datos diferente puede provocar otra asignación de asignación.

+10

Tenga en cuenta que timestamp (0) y timestamptz (0) redondearán en lugar de truncar. Use date_trunc si desea conservar el resto de la marca de tiempo tal como está. – karlgold

+0

@karlgold comentario muy importante gracias – Brettski

+0

@saul: Su edición sugerida fue rechazada, pero usted tenía razón. Apliqué tu aclaración, gracias –

Cuestiones relacionadas