tutorial smart remix español curso aprender oracle time to-date

oracle - smart - el oráculo inserta solo el tiempo



solidity español (3)

Un tipo de DATE siempre incluye el componente de fecha.

Una opción es continuar usando DATE y escribir su código para ignorar el componente de fecha. Para que las consultas sean eficientes en el tiempo, es posible que desee crear un índice basado en funciones en algo como TO_CHAR( date_field, ''HH24:MI:SS'' ) y usar esa expresión en sus consultas.

Alternativamente, podría usar un campo NUMBER para almacenar el número de segundos desde la medianoche y escribir sus consultas en términos de eso.

Esta pregunta ya tiene una respuesta aquí:

Me gustaría insertar datos en db como tiempo, no como fecha. Si utilizo to_date(''2012-08-31 07:39:33'', ''YYYY-MM-DD HH24:MI:SS'') también agrega fecha. Si utilizo to_date(''09:34:00'', ''HH24:MI:SS'') agrega año, mes, día también, de la nada: | Más tarde, necesito obtener filas donde el tiempo esté entre xey, sin tener en cuenta el año, mes o día. ¿Cómo puedo hacer eso? Gracias


puede usar el tipo de columna numérica e insertar valor como

INSERT INTO table_name (nTime) VALUES (date - trunc(date));

y luego seleccione valores

select * from table_name t where t.nTime between (10 / 24 + 15 / 24 / 60) and (12 / 24 + 30 / 24 / 60) --between 10:15 and 12:30


Como alternativa a la solución de date que muestra Dave, puede usar un tipo de datos de interval para la columna:

create table t42(id number, t interval day to second); insert into t42 (id, t) values(123, to_dsinterval(''0 07:39:33'')); insert into t42 (id, t) values(456, to_dsinterval(''0 09:34:00'')); select id from t42 where t between to_dsinterval(''0 07:00:00'') and to_dsinterval(''0 07:59:59''); ID ---------- 123

La visualización de intervalos es un poco incómoda ya que no tienen modelos de formato , pero consulte esta pregunta para obtener algunas ideas si es necesario. Si solo los usa para filtrar, entonces eso puede no ser un problema en absoluto.