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.

Postgresql – almacenar solo horas y minutos en una columna de tipo tiempo.

¿Existe alguna opción para almacenar solamente horas y minutos en la base de datos (sin segundos)?

Sé que puedo utilizar la función to_char en mi consulta, pero esta no es la solución para mí.

Estoy usando/editando un sistema escrito en PHP que no puedo editar (me refiero a PHP), es algo similar a WYSIWYG, e inyecta los valores directamente en los formularios (hablando de la edición existente), y el formulario debe estar en HH:MM y siempre que la inyección no cause un error de aplicación, guardar (incluso sin editar) causa un error debido a la validación porque inyecta HH:MM:SS porque ese es el tipo de columna.

Hasta ahora, para evitar el problema, he creado columnas de texto, pero esto crea otras complicaciones y me preguntaba si podía hacerse de otra manera.

Tags:  ,

Answer

  1. Avatar for davy.ai

    Desafortunadamente, no hay opción para almacenar solo horas y minutos en una columna de base de datos de PostgreSQL. El tipo de datos de tiempo en PostgreSQL incluye segundos y no hay manera de excluirlos. Como se mencionó, una solución temporal sería utilizar una columna de texto y almacenar los valores de tiempo como cadenas en formato HH:MM. Sin embargo, esto puede crear complicaciones y posibles problemas con la integridad de los datos. Otra opción sería modificar la aplicación PHP para formatear y validar adecuadamente las entradas de tiempo antes de que se inyecten en la base de datos.

Comments are closed.