web-dev-qa-db-de.com

Prüfen Sie, ob das aktuelle Datum zwischen zwei Daten von Oracle SQL liegt

Ich möchte 1 auswählen, wenn das aktuelle Datum zwischen 2 Daten durch Oracle SQL liegt.

Ich habe eine SQL geschrieben, nachdem ich andere Fragen gelesen hatte.

https://stackoverflow.com/questions/2369222/Oracle-date-between-query

https://stackoverflow.com/questions/2399753/select-von-table-by-wissen-nur-update-without-time-Oracle

Aber es gab nur null zurück. sysdate ist das aktuelle Datum mit 01/05/2014 im Datumsformat DD/MM/YYYY.

Die SQL, die ich geschrieben habe, ist:

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');

und 

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'); 
27
Avinesh Kumar

Sie müssen to_date() nicht auf sysdate anwenden. Es ist schon da:

select 1
from dual 
WHERE sysdate BETWEEN TO_DATE('28/02/2014', 'DD/MM/YYYY') AND TO_DATE('20/06/2014', 'DD/MM/YYYY');

Wenn Sie sich Sorgen um die Zeitkomponente am Datum machen, verwenden Sie 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');
51
Gordon Linoff

TSQL: Datumsangaben müssen zwischen zwei Datumsangaben nach Lücken suchen

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);
0
user6341745
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
0
arun