Oracle ist ein beliebtes relationales Datenbankverwaltungssystem, das in verschiedenen Anwendungen auf Unternehmensebene weit verbreitet ist. In Oracle sind Datum und Uhrzeit sehr wichtige Datentypen, da die Implementierung vieler Geschäftsfunktionen von ihnen abhängt. Oracle unterstützt mehrere Datums- und Zeitformate. In diesem Artikel wird erläutert, wie Datums- und Zeitformate in Oracle abgefragt und verwendet werden.
1. Oracle-Datums- und Uhrzeitdatentypen
Oracle unterstützt 4 Datums- und Uhrzeitdatentypen, nämlich DATUM, ZEITSTAMP, ZEITSTAMP MIT ZEITZONE und ZEITSTAMP MIT LOKALER ZEITZONE.
- DATE: Der am häufigsten verwendete Datentyp für Datum und Uhrzeit. Er kann Datum und Uhrzeit speichern, einschließlich Jahr, Monat, Tag, Stunde, Minute und Sekunde, und unterstützt Vorgänge, Vergleiche und Formatierungen.
- TIMESTAMP: Ein präziserer Datums- und Uhrzeitdatentyp als DATE, der Nanosekundengenauigkeit unterstützt.
- ZEITSTEMPEL MIT ZEITZONE: Zeitzoneninformationen werden basierend auf dem ZEITSTEMPEL hinzugefügt.
- TIMESTAMP WITH LOCAL TIME ZONE: Ähnlich wie TIMESTAMP WITH TIME ZONE, konvertiert jedoch die Zeit in die lokale Zeit in der Datenbankzeitzone.
2. Abfrage des Oracle-Datums- und Uhrzeitformats
Bei der Abfrage von Datums- und Uhrzeitdaten müssen wir die Funktion TO_CHAR verwenden, um Datum und Uhrzeit in ein bestimmtes Format zu konvertieren. Im Folgenden sind einige häufig verwendete Oracle-Datums- und Zeitformate aufgeführt:
Datumsformate:
- JJJJ: Jahr, vierstellig (zum Beispiel: 2021)
- JJ: Jahr, zweistellig (zum Beispiel: 21)
- MM: Monat, dargestellt durch Zahlen (zum Beispiel: 09)
- MON: Monat, dargestellt durch Abkürzung (zum Beispiel: SEP)
- MONTH: Monat, dargestellt durch vollständigen Namen (zum Beispiel: SEPTEMBER)
- DD: Tag, dargestellt durch Zahlen (zum Beispiel: 08)
- DY Oder DAY: Wochentag, abgekürzter oder vollständiger Name (zum Beispiel: MON oder MONDAY)
Zeitformat:
- HH24: Stunde, 24-Stunden-Format, numerische Darstellung
- MI: Minute, numerische Darstellung
- SS: Sekunde, Zahlendarstellung
Beispiel:
- Fragen Sie das aktuelle Datum und die aktuelle Uhrzeit ab: SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD HH24:MI:SS') FROM DUAL;
- Fragen Sie das aktuelle Datum ab: SELECT TO_CHAR(SYSDATE,'YYYY-MM-DD') FROM DUAL;
- Fragen Sie die aktuelle Uhrzeit ab: SELECT TO_CHAR(SYSDATE,'HH24:MI:SS') FROM DUAL;
- Fragen Sie das Datum vor einer Woche ab: SELECT TO_CHAR(SYSDATE-7,'YYYY-MM-DD') FROM DUAL;
- Fragen Sie den aktuellen Monat ab: SELECT TO_CHAR(SYSDATE,'MM') FROM DUAL;
- Fragen Sie das aktuelle Quartal ab : SELECT TO_CHAR(ADD_MONTHS(TRUNC(SYSDATE,'Q'),2),'Q' ) FROM DUAL;
- Fragen Sie das aktuelle Jahr ab: SELECT TO_CHAR(SYSDATE,'YYYY') FROM DUAL;
- Fragen Sie das morgige Datum ab: SELECT TO_CHAR(SYSDATE+1,'YYYY-MM-DD') FROM DUAL;
- Query Das Datum des ersten Tages dieses Monats: SELECT TO_CHAR(TRUNC(SYSDATE,'MONTH'),'YYYY-MM-DD' ) FROM DUAL;
- Fragen Sie das Datum des letzten Tages des Vormonats ab: SELECT TO_CHAR(LAST_DAY(ADD_MONTHS(SYSDATE, -1)),'YYYY-MM-DD') FROM DUAL;
3 Datums- und Zeitfunktionen
Neben der TO_CHAR-Funktion stellt Oracle auch viele Datums- und Zeitfunktionen zur Verfügung, mit denen Datums- und Zeitdaten abgefragt und verarbeitet werden können.
- ADD_MONTHS(date,n): Addiere n Monate zum Datum, n kann eine negative Zahl sein, um n Monate zu subtrahieren.
- MONTHS_BETWEEN(Datum1,Datum2): Berechnen Sie die Anzahl der Monate Differenz zwischen Datum1 und Datum2.
- TRUNC(Datum, Format): Kürzt das Datum entsprechend dem angegebenen Format, das häufig zur Berechnung von Datumsintervallen und Vergleichen verwendet wird.
- LAST_DAY(date): Gibt den letzten Tag des Monats zurück, in dem sich das Datum befindet.
- EXTRAKT (Einheit AUS Datum): Extrahieren Sie die angegebene Zeiteinheit (Jahr, Monat, Tag, Stunde, Minute, Sekunde, Wochentag usw.) aus dem Datum.
Beispiel:
- Fragen Sie ab, wie lange es seit dem Eintrittsdatum des Mitarbeiters her ist: SELECT * FROM Employees WHERE EXTRACT(MONTH FROM Geburtsdatum) = EXTRACT(MONTH FROM SYSDATE);
- Fragen Sie ab, wie viele Tage bis zum nächsten Geburtstag des Mitarbeiters verbleiben : SELECT TRUNC(MONTHS_BETWEEN(TRUNC(SYSDATE,'YYYY'),TRUNC(birth_date,'YYYY')) /12)
365+TRUNC(MOD(MONTHS_BETWEEN(TRUNC(SYSDATE,'YYYY'),TRUNC(birth_date,' YYYY')),1)- 12.0/11*365) FROM Employees WHERE Employee_id=100;
Die oben genannten Beispiele sind nur einige häufig verwendete Beispiele für Datums- und Uhrzeitabfragen und -funktionen, die im tatsächlichen Gebrauch flexibel verwendet werden müssen und je nach Bedarf kombiniert werden.
Zusammenfassung:
Die Abfrage des Datums- und Zeitformats von Oracle ist ein wesentlicher Bestandteil der Datenbankentwicklung. Korrekte Datums- und Zeitformate sowie korrekte Berechnungsmethoden können die Genauigkeit und Stabilität von Geschäftsdaten gewährleisten. Dieser Artikel bietet eine detaillierte Einführung in die Datentypen, Datums- und Zeitformate und Funktionen von Oracle. Ich hoffe, dass er für die Abfrage und Verarbeitung von Datum und Uhrzeit in der Praxis hilfreich ist.
Das obige ist der detaillierte Inhalt vonOracle-Zeitformatabfrage. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!
Stellungnahme: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