Heim > Datenbank > Oracle > Zusammenfassung einiger häufiger Situationen bei Oracle-Abfragen basierend auf der Zeit

Zusammenfassung einiger häufiger Situationen bei Oracle-Abfragen basierend auf der Zeit

WBOY
Freigeben: 2022-09-02 20:55:27
nach vorne
2664 Leute haben es durchsucht

Dieser Artikel vermittelt Ihnen relevantes Wissen über „Oracle“-Abfragen, eine Funktion, auf die wir in der täglichen Entwicklung häufig stoßen. Im Folgenden werden einige häufige Situationen über Oracle-Abfragen auf Zeitbasis vorgestellt. Die Einführung ist sehr detailliert. Freunde in Not können sich darauf beziehen.

Zusammenfassung einiger häufiger Situationen bei Oracle-Abfragen basierend auf der ZeitEmpfohlenes Tutorial: „

Oracle Video Tutorial

1. Fragen Sie die Daten innerhalb des Zeitraums ab

查询2021-01-01  至  2021-01- 02 的数据
SELECT *
FROM t_table1 t
WHERE t.d_time >= to_date('2021-01-01 00:00:00', 'yyyy-mm-dd hh24:mi:ss')
	AND t.d_time <= to_date(&#39;2021-01-02 23:59:59&#39;, &#39;yyyy-mm-dd hh24:mi:ss&#39;);
Nach dem Login kopieren

Das folgende SQL fragt nur 2021-01-01 bis 2021-1-2 00:00 ab: 00 Daten

SELECT *
FROM T_EVENT_MANAGEMENT t
WHERE t.s_ra_time >= to_date(&#39;2021-01-01&#39;, &#39;yyyy-mm-dd&#39;)
	AND t.s_ra_time <= to_date(&#39;2021-01-02&#39;, &#39;yyyy-mm-dd&#39;);
--to_date(&#39;2021-01-02&#39;, &#39;yyyy-mm-dd&#39;) = 2021-01-02 00:00:00 超过2号0点属于2号的数据不会显示
Nach dem Login kopieren

2. Verwendung der Datums- und Zeichenkonvertierungsfunktion (to_date, to_char)

select to_char(sysdate,&#39;yyyy-mm-dd hh24:mi:ss&#39;) as nowTime from dual;  --结果:2022-01-26 13:04:53
select to_char(sysdate,&#39;yyyy&#39;) as nowYear   from dual; --结果:2022
select to_char(sysdate,&#39;mm&#39;)   as nowMonth  from dual; --结果:01
select to_char(sysdate,&#39;dd&#39;)   as nowDay    from dual; --结果:26
select to_char(sysdate,&#39;hh24&#39;) as nowHour   from dual; --结果:13
select to_char(sysdate,&#39;mi&#39;)   as nowMinute from dual; --结果:04
select to_char(sysdate,&#39;ss&#39;)   as nowSecond from dual; --结果:53


select to_date(&#39;2022-01-26 13:04:53&#39;,&#39;yyyy-mm-dd hh24:mi:ss&#39;)  from dual
Nach dem Login kopieren

3. Fragen Sie den Wochentag für einen bestimmten Tag ab

select to_char(to_date(&#39;2022-01-26&#39;,&#39;yyyy-mm-dd&#39;),&#39;day&#39;) from dual;   --结果:星期三
Nach dem Login kopieren

5 . Fragen Sie einen leeren Zeittyp ab

6. Wird verwendet, um die Anzahl der Monate zwischen Datum1 und Datum2

select floor(sysdate - to_date(&#39;20220101&#39;,&#39;yyyymmdd&#39;)) from dual;
Nach dem Login kopieren

7 zu berechnen

select 1, TO_DATE(null) from dual;
Nach dem Login kopieren
8. Holen Sie sich die Anzahl der Tage des Jahres

select months_between(to_date(&#39;12-31-2021&#39;,&#39;MM-DD-YYYY&#39;),to_date(&#39;01-31-2021&#39;,&#39;MM-DD-YYYY&#39;)) "MONTHS" FROM DUAL; --结果:11
Nach dem Login kopieren

trunc [auf das nächste Datum gekürzt, Einheit ist Tag], der Datumstyp wird zurückgegeben

NEXT_DAY(date,char) 

select   next_day(sysdate,2) from dual;  --当前时间的下一个周一
--1表示星期日,2代表星期一
Nach dem Login kopieren

10 das späteste Datum in der Datumsliste

select add_months(trunc(sysdate,&#39;year&#39;), 12) - trunc(sysdate,&#39;year&#39;) from dual;
 --闰年的处理方法     
to_char( last_day( to_date(&#39;02&#39;|| :year,&#39;mmyyyy&#39;) ), &#39;dd&#39;)     
 --如果是28就不是闰年
Nach dem Login kopieren

11. Berechnen Sie den ersten und letzten Tag des Monats

 select TO_CHAR(SYSDATE,&#39;DDD&#39;),sysdate from dual;
Nach dem Login kopieren

13. Fragen Sie die Uhrzeit vor der Uhrzeit ab (ersetzen Sie das Minuszeichen durch ein Pluszeichen). nach Überprüfung)

 select sysdate S1,                    
     trunc(sysdate) S2,                 //返回当前日期,无时分秒
     trunc(sysdate,&#39;year&#39;) YEAR,        //返回当前年的1月1日,无时分秒
     trunc(sysdate,&#39;month&#39;) MONTH ,     //返回当前月的1日,无时分秒
     trunc(sysdate,&#39;day&#39;) DAY           //返回当前星期的星期天,无时分秒
   from dual
Nach dem Login kopieren

Empfohlenes Tutorial: „

Oracle Video Tutorial

Das obige ist der detaillierte Inhalt vonZusammenfassung einiger häufiger Situationen bei Oracle-Abfragen basierend auf der Zeit. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:jb51.net
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage