Como obtener los minutos de un campo date

publicado por: Anonymous

Estoy intentando actualizar los registros de una base de datos Oracle SQL y no logro dar con la sentencia correcta.

La tabla GASTOS se compone de los siguientes campos:

FECHA

TIPO: DATE

REGISTRO EJEMPLO: 01/01/2018 12:00

GASTO

TIPO: NUMBER

REGISTRO EJEMPLO: 100

Lo que necesito hacer es ACTUALIZAR los campos que tengan los minutos = 00, es decir (12:00, 1:00, 2:00, etc…) por X (1 por ejemplo) valor numérico.

Sentencia:

UPDATE GASTOS
SET GASTO = 1 
WHERE TO_CHAR(FECHA);

Había investigado sobre el tema y encontré que había que utlizar la sentencia TO_CHAR, pero siempre recibo un error, de sentencia inválida.

Un saludo, estoy a disposición de cualquier consulta.

solución

Por lo que estas pidiendo, solo tenes que agregar en el where la condición por la cual vas a filtrar los registros

UPDATE GASTOS
SET GASTO = 1 
WHERE TO_CHAR(FECHA,'MI') = 0;

Como es un campo de tipo date, no se puede usar extract, asi que la solucion es parsearlo con to_char e igualar a los minutos que queres

Respondido por: Anonymous

Leave a Reply

Your email address will not be published.