Foros del Web » Programación para mayores de 30 ;) » Bases de Datos General » Oracle »

[SOLUCIONADO] Fechas oracle

Estas en el tema de Fechas oracle en el foro de Oracle en Foros del Web. Buenas noches compañeros programadores, tengo un problema con oracle y es la siguiente: se como sacar la fecha del sistemas es por medio de SELECT ...
  #1 (permalink)  
Antiguo 09/11/2014, 18:49
 
Fecha de Ingreso: septiembre-2014
Ubicación: .
Mensajes: 6
Antigüedad: 6 años, 2 meses
Puntos: 0
Fechas oracle

Buenas noches compañeros programadores, tengo un problema con oracle y es la siguiente: se como sacar la fecha del sistemas es por medio de
SELECT SYSDATE FROM DUAL;

en una tabla inserto una fecha de forma automática con sysdate, y la almacena dd/mm/yyyy, quiero hacer una consulta pero que solo me traiga los datos de la fecha de hoy algo asi,

Código SQL:
Ver original
  1. SELECT cod_orden display_value, fecha return_value FROM orden_compra  
  2. WHERE fecha =(SELECT SYSDATE FROM DUAL) ORDER BY 1;

si em podrian ayudar les agradeceria de antemano

Última edición por gnzsoloyo; 09/11/2014 a las 20:16
  #2 (permalink)  
Antiguo 09/11/2014, 19:00
 
Fecha de Ingreso: septiembre-2014
Ubicación: .
Mensajes: 6
Antigüedad: 6 años, 2 meses
Puntos: 0
Respuesta: Fechas oracle

Ya lo pude solucionar para los que les de pronto les pace eso a futuro esta es la solución
Código SQL:
Ver original
  1. SELECT * FROM ORDEN_COMPRA WHERE TRUNC(FECHA)=TRUNC(SYSDATE);

en el caso de que solo se almacena la fecha sin hora

Última edición por gnzsoloyo; 09/11/2014 a las 20:16
  #3 (permalink)  
Antiguo 10/11/2014, 09:17
Avatar de huesos52
Colaborador
 
Fecha de Ingreso: febrero-2009
Ubicación: Manizales - Colombia
Mensajes: 5.980
Antigüedad: 11 años, 9 meses
Puntos: 360
Respuesta: Fechas oracle

Me alegra que lo hayas solucionado.

para que lo tengas en cuenta, si la tabla es grande o tiende a crecer mucho, la opción que planteas puede resultar ineficiente, ya que la busqueda por un campo de fecha y adicional, haciendo uso de funciones (trunc) en la condición de la consulta, exime el uso del indice (en caso de que lo tengas en la columna fecha) y puede afectarte seriamente el rendimiento de tu aplicación.

Si la tabla es pequeña y no tiende mucho a crecer es una buena solución.

Saludos
__________________
Without data, You are another person with an opinion.
W. Edwads Deming
  #4 (permalink)  
Antiguo 11/11/2014, 01:45
 
Fecha de Ingreso: junio-2007
Mensajes: 891
Antigüedad: 13 años, 5 meses
Puntos: 43
Respuesta: Fechas oracle

Si la mayoria de las consultas van a ser de ese estilo, a lo mejor sería bueno crear un indice basado en funciones ( TRUNC(CAMPO_FECHA))

Sabiendo de antemano que cualquier acceso a ese campo fecha sin el trunc te va a provocar un access full a la tabla.
  #5 (permalink)  
Antiguo 14/11/2014, 16:49
 
Fecha de Ingreso: septiembre-2014
Ubicación: .
Mensajes: 6
Antigüedad: 6 años, 2 meses
Puntos: 0
Respuesta: Fechas oracle

No entiendo me pueden explicar un poco como para dumis, es que soy nuevo en oracle
  #6 (permalink)  
Antiguo 14/11/2014, 17:37
Avatar de gnzsoloyo
Moderador criollo
 
Fecha de Ingreso: noviembre-2007
Ubicación: Actualmente en Buenos Aires (el enemigo ancestral)
Mensajes: 23.324
Antigüedad: 13 años
Puntos: 2656
Respuesta: Fechas oracle

Se refieren a que si usas un campo que guarda fecha y hora, y creas un índice sobre ese campo, si luego usas TRUNCATE() a fin de comprar sólo fechas, Oracle no usará el índice que existe sobre ese campo, porque ese indice se definió con las horas incluidas.
En ese contexto, Oracle hará un full tablescan (lectura de toda la tabla), por lo que si la tabla es muy grande la consulta será ineficiente.
Lo que comenta luego jc3000 es que si las consultas que usas buscarán sólo por fecha y sin tomar las horas, te conviene crear el índice usando como clave de entrada el resultado de TRUNCATE() sobre el campo, de modo que Oracle sí pueda usar el índice.

¿Se entiende más?

Si no se entiende, ya la cosa es que te pongas a estudiar el tema de índices en Oracle, porque la explicación completa no es para dummies...
__________________
¿A quién le enseñan sus aciertos?, si yo aprendo de mis errores constantemente...
"El problema es la interfase silla-teclado." (Gillermo Luque)

Última edición por gnzsoloyo; 17/11/2014 a las 18:46
  #7 (permalink)  
Antiguo 17/11/2014, 18:44
 
Fecha de Ingreso: septiembre-2014
Ubicación: .
Mensajes: 6
Antigüedad: 6 años, 2 meses
Puntos: 0
Respuesta: Fechas oracle

Ok gracias si entendi

Etiquetas: fecha, select, tabla
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 07:53.