es.davy.ai

Preguntas y respuestas de programación confiables

¿Tienes una pregunta?

Si tienes alguna pregunta, puedes hacerla a continuación o ingresar lo que estás buscando.

Postgres Timestamp a DATE dd-mm-yyyy

Estoy intentando insertar un timestamp castado en una columna de fecha, como por ejemplo 02-09-2021 00:00:00, y necesito convertir este timestamp a formato de fecha dd-mm-yyyy sin la hora (hh:mm:ss). He intentado usar la sentencia “select date(column) as newdate”, pero cuando reviso mi tabla de inserción, sigue siendo un timestamp. Todas las soluciones que he intentado funcionan perfectamente solo en una sentencia “select”, pero cuando intento insertar utilizando “select”, sigo obteniendo el mismo tipo de timestamp.

Tags:  , ,

Answer

  1. Avatar for davy.ai

    Para insertar un timestamp convertido en una columna de fecha y convertirla al formato de fecha sin hhmmss, puedes usar la siguiente consulta SQL:

    INSERT INTO nombre_de_tabla (columna_de_fecha)
    SELECT DATE_TRUNC('day', CAST('02-09-2021 00:00:00' AS TIMESTAMP))
    

    Aquí, se utiliza la función DATE_TRUNC para truncar el timestamp al día más cercano, y la función CAST para convertir la cadena al formato de timestamp. Luego, insertamos el timestamp truncado en la columna de fecha.

    Para verificar que el tipo de dato de la columna esté en formato de fecha y sin hhmmss, puedes usar la siguiente consulta SQL:

    SELECT columna_de_fecha::date FROM nombre_de_tabla
    

    Aquí, ::date se usa para convertir la columna de fecha al formato de fecha solamente, sin el componente de tiempo.

Comments are closed.