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

Manejo de fechas en Oracle

Estas en el tema de Manejo de fechas en Oracle en el foro de Oracle en Foros del Web. hola, Alguien sabe como puedo poner una fecha como variable ya que estoy ejecutando un query en una base de oracle pero tengo que dejarla ...
  #1 (permalink)  
Antiguo 11/07/2006, 11:22
 
Fecha de Ingreso: abril-2004
Mensajes: 15
Antigüedad: 20 años
Puntos: 0
Manejo de fechas en Oracle

hola,
Alguien sabe como puedo poner una fecha como variable ya que estoy ejecutando un query en una base de oracle pero tengo que dejarla programada para que tome la fecha y ademas al dia le reste un dia??
  #2 (permalink)  
Antiguo 11/07/2006, 11:44
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
Hola Princesa_tuza:
Si especificas mejor tu pregunta, podremos ayudarte.
¿Como y en que programa vas a realizar tu operación?. O si pones parte del código que deseas hacer o como hacerlo, chevere, seria mejor.
Saluditos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #3 (permalink)  
Antiguo 11/07/2006, 12:43
 
Fecha de Ingreso: abril-2004
Mensajes: 15
Antigüedad: 20 años
Puntos: 0
claro,
en un query de oracle tengo esta linea para hacer una busqueda

AND d.thedate = TO_DATE ('(aqui es donde tengo k insertar la parte de la fecha pero con un dia menos','dd/mm/yyyy ')

se supone que le estoy condicionando que busque los de un dia anterior...
  #4 (permalink)  
Antiguo 11/07/2006, 13:46
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
Bueno, lo harias de esta forma:
Código:
AND d.thedate = TO_DATE ('11/07/2006','dd/mm/yyyy ')-1
Pero arriba comentabas de hacerlo en una variable. No se como lo haras, de donde sacaras la fecha.
Ojo, d.thedate seria mejor que lo formatees de igual manera que la fecha que estas restando un dia. Algo asi:
Código:
to_date(to_char(d.thedate,'dd/mm/yyyy'))
Claro, solo si la fecha no esta en ese formato. Ahora, la pregunta es, como capturas la fecha?....
Saluditos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #5 (permalink)  
Antiguo 11/07/2006, 14:46
 
Fecha de Ingreso: abril-2004
Mensajes: 15
Antigüedad: 20 años
Puntos: 0
la fecha la estaria llamando de la que viene en el servidor... pero tampoco se como...
  #6 (permalink)  
Antiguo 11/07/2006, 14:57
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
Si te refieres a la fecha actual del servidor:
Código:
AND d.thedate = TO_DATE(TO_CHAR(sysdate,'dd/mm/yyyy '))-1
Saluditos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #7 (permalink)  
Antiguo 11/07/2006, 15:59
 
Fecha de Ingreso: abril-2004
Mensajes: 15
Antigüedad: 20 años
Puntos: 0
al ejecutarlo dentro de mi script me manda el siguiente mensaje


SQL> SQL> SQL> SQL> SQL> SQL> SQL> 2 3 4 5 6 7 8 9 10 11 AND d.thedate = TO_DATE(TO_CHAR (sysdate,'dd/mm
/yyyy '))-1
*
ERROR at line 10:
ORA-01843: not a valid month


pero si lo ejecuto dentro del toad no tengo problema...
por que será??
  #8 (permalink)  
Antiguo 11/07/2006, 16:05
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
Cita:
Iniciado por Princesa_tuza
al ejecutarlo dentro de mi script me manda el siguiente mensaje


SQL> SQL> SQL> SQL> SQL> SQL> SQL> 2 3 4 5 6 7 8 9 10 11 AND d.thedate = TO_DATE(TO_CHAR (sysdate,'dd/mm
/yyyy '))-1
*
ERROR at line 10:
ORA-01843: not a valid month


pero si lo ejecuto dentro del toad no tengo problema...
por que será??
Puedes poner tu script?
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
  #9 (permalink)  
Antiguo 11/07/2006, 16:21
 
Fecha de Ingreso: abril-2004
Mensajes: 15
Antigüedad: 20 años
Puntos: 0
ORACLE_HOME=/u01/app/oracle/product/9.2.0
export ORACLE_HOME

este es el script
set echo off;
set heading off;
set feedback off;
set linesize 300;
set pagesize 1000;

select to_date(to_char(d.thedate))||','||to_char(b.name) ||',' ||to_char(c.name)||','||to_char(a.value)||','||
to_char(f.name)||','||to_char(e.svalue)
from twtdatavalues a
inner join twtinstances b on b.id = a.insid
inner join twtindicators c on c.id = a.indid
inner join twttimes d on d.id = a.timeid
left outer join twtpropvalues e on e.insid = b.id
inner join twtproperties f on f.id = e.propid
where b.name like 'int%'
AND d.thedate = TO_DATE(TO_CHAR (sysdate,'dd/mm/yy'))-1
order by a.timeid,a.insid,a.indid,e.propid;
  #10 (permalink)  
Antiguo 11/07/2006, 16:42
Avatar de PequeñoMauro  
Fecha de Ingreso: abril-2006
Ubicación: Lima - Perú
Mensajes: 600
Antigüedad: 18 años
Puntos: 3
En el WHERE pon esto:
Código:
AND d.thedate = TO_DATE(TO_CHAR (sysdate,'dd/mm/yy'),'dd/mm/yy')-1
Espero que ahora no tenga errores.
Saluditos
__________________
"Nada en mis manos traigo tan solo a tu cruz me aferro....."
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.
Tema Cerrado

SíEste tema le ha gustado a 1 personas (incluyéndote)




La zona horaria es GMT -6. Ahora son las 05:58.