sql - to_date - sumar dias a una fecha oracle
Compruebe si la fecha actual es entre dos fechas Oracle SQL (3)
TSQL: Fechas: hay que buscar espacios en blanco entre dos fechas
select
distinct
e1.enddate,
e3.startdate,
DATEDIFF(DAY,e1.enddate,e3.startdate)-1 as [Datediff]
from #temp e1
join #temp e3 on e1.enddate < e3.startdate
/* Finds the next start Time */
and e3.startdate = (select min(startdate) from #temp e5
where e5.startdate > e1.enddate)
and not exists (select * /* Eliminates e1 rows if it is overlapped */
from #temp e5
where e5.startdate < e1.enddate and e5.enddate > e1.enddate);
Me gustaría seleccionar 1
si la fecha actual cae entre 2 fechas a través de Oracle SQL.
Escribí un SQL después de leer a través de otras preguntas.
https://stackoverflow.com/questions/2369222/oracle-date-between-query
Pero volvió solo nulo. sysdate
es la fecha actual que es el 01/05/2014
en el formato de fecha DD/MM/YYYY
.
El SQL que escribí es:
select 1 from dual
WHERE to_date(sysdate,''DD/MM/YYYY'')
BETWEEN TO_DATE(''28/02/2014'', ''DD/MM/YYYY'')
AND TO_DATE(''20/06/2014'', ''DD/MM/YYYY'');
y
select 1 from dual
WHERE to_date(sysdate,''DD/MM/YYYY'') >= TO_DATE(''28/02/2014'', ''DD/MM/YYYY'')
AND to_date(sysdate,''DD/MM/YYYY'') < TO_DATE(''20/06/2014'', ''DD/MM/YYYY'');
No es necesario aplicar to_date()
a sysdate
. Ya está ahí:
select 1
from dual
WHERE sysdate BETWEEN TO_DATE(''28/02/2014'', ''DD/MM/YYYY'') AND TO_DATE(''20/06/2014'', ''DD/MM/YYYY'');
Si le preocupa el componente de tiempo en la fecha, utilice trunc()
:
select 1
from dual
WHERE trunc(sysdate) BETWEEN TO_DATE(''28/02/2014'', ''DD/MM/YYYY'') AND
TO_DATE(''20/06/2014'', ''DD/MM/YYYY'');
SELECT to_char(emp_login_date,''DD-MON-YYYY HH24:MI:SS''),A.*
FROM emp_log A
WHERE emp_login_date BETWEEN to_date(to_char(''21-MAY-2015 11:50:14''),''DD-MON-YYYY HH24:MI:SS'')
AND
to_date(to_char(''22-MAY-2015 17:56:52''),''DD-MON-YYYY HH24:MI:SS'')
ORDER BY emp_login_date