| Drucken PDF-Version der Onlinehilfe öffnen

#### Datums- und Uhrzeitfunktionen Die Kalenderfunktionen für Datum und Uhrzeit bearbeiten Daten in Datentypen für Datum, Uhrzeit und Zeitstempel. (Der Datentyp Zeitstempel ist eine Kombination aus Datum und Uhrzeit.) ### Current_Date Gibt das aktuelle Datum zurück. Das Datum wird vom Computer bestimmt. Der Wert umfasst keine Uhrzeitkomponente. Syntax: CURRENT_DATE ### ### Current_Time Gibt die aktuelle Uhrzeit zurück. Die Uhrzeit wird vom Computer bestimmt. Der Wert enthält keine Datumskomponente. Hinweis: Diese Funktion ruft die aktuelle Zeit erst dann ab, wenn der Bericht ausgeführt wird. Bei Verwendung dieser Funktion für einen Analytics-Themenbereich wird der Bericht nicht gecacht. Leistungseinbußen können so vermieden werden. Syntax: CURRENT_TIME (n) wobei:
n | eine Ganzzahl ist, die die Anzahl der Dezimalstellen darstellt, mit denen der Sekundenbruchteil angezeigt werden soll. Das Argument ist optional; die Funktion gibt die Standardgenauigkeit zurück, wenn kein Argument angegeben ist.
### Current_TimeStamp Gibt den aktuellen Datums-/Zeitstempel zurück. Der Zeitstempel wird vom Computer bestimmt. Hinweis: Diese Funktion ruft die aktuelle Zeit erst dann ab, wenn der Bericht ausgeführt wird. Bei Verwendung dieser Funktion für einen Analytics-Themenbereich wird der Bericht nicht gecacht. Leistungseinbußen können so vermieden werden. Syntax: CURRENT_TIMESTAMP (n) wobei:
n | eine Ganzzahl ist, die die Anzahl der Dezimalstellen darstellt, mit denen der Sekundenbruchteil angezeigt werden soll. Das Argument ist optional; die Funktion gibt die Standardgenauigkeit zurück, wenn kein Argument angegeben ist.
### Day_Of_Quarter Gibt eine Zahl (zwischen 1 und 92) zurück, die dem Tag des Quartals für das angegebene Datum entspricht. Syntax: DAY_OF_QUARTER (date_expression) wobei:
date_expression | ein beliebiger Ausdruck ist, der ein Datum ergibt.
### DayName Gibt den Namen des Wochentags (auf Englisch) für ein angegebenes Datum zurück. Syntax: DAYNAME (date_expression) wobei:
date_expression | ein beliebiger Ausdruck ist, der ein Datum ergibt.
### DayOfMonth Gibt die Zahl zurück, die dem Tag des Monats für ein angegebenes Datum entspricht. Syntax: DAYOFMONTH (date_expression) wobei:
date_expression | ein beliebiger Ausdruck ist, der ein Datum ergibt.
### DayOfWeek Gibt eine Zahl zwischen 1 und 7 zurück, die dem Wochentag für ein angegebenes Datum entspricht. Die Zahl 1 entspricht Sonntag und die Zahl 7 entspricht Samstag. Syntax: DAYOFWEEK (date_expression) wobei:
date_expression | ein beliebiger Ausdruck ist, der ein Datum ergibt.
### DayOfYear Gibt die Zahl (zwischen 1 und 366) zurück, die dem Tag des Jahres für ein angegebenes Datum entspricht. Syntax: DAYOFYEAR (date_expression) wobei:
date_expression | ein beliebiger Ausdruck ist, der ein Datum ergibt.
### Hour Gibt eine Zahl (zwischen 0 und 23) zurück, die der Stunde für eine angegebene Zeit entspricht. 0 entspricht beispielsweise 0 Uhr, und 23 entspricht 23 Uhr. Syntax: HOUR (time_expression) wobei:
time_expression | ein beliebiger Ausdruck ist, der eine Uhrzeit ergibt.
### Minute Gibt eine Zahl (zwischen 0 und 59) zurück, die der Minute für eine angegebene Zeit entspricht. Syntax: MINUTE (time_expression) wobei:
time_expression | ein beliebiger Ausdruck ist, der eine Uhrzeit ergibt.
### Monat Gibt eine Zahl (zwischen 1 und 12) zurück, die dem Monat für ein angegebenes Datum entspricht. Syntax: MONTH (date_expression) wobei:
date_expression | ein beliebiger Ausdruck ist, der ein Datum ergibt.
### Month_Of_Quarter Gibt die Zahl (zwischen 1 und 3) zurück, die dem Monat im Quartal für das angegebene Datum entspricht. Syntax: MONTH_OF_QUARTER (date_expression) wobei:
date_expression | ein beliebiger Ausdruck ist, der ein Datum ergibt.
### MonthName Gibt den Namen des Monats (auf Englisch) für ein angegebenes Datum zurück. Syntax: MONTHNAME (date_expression) wobei:
date_expression | ein beliebiger Ausdruck ist, der ein Datum ergibt.
### Now Gibt den aktuellen Zeitstempel zurück. Die NOW-Funktion entspricht der CURRENT_TIMESTAMP-Funktion. Hinweis: Diese Funktion ruft die aktuelle Zeit erst dann ab, wenn der Bericht ausgeführt wird. Bei Verwendung dieser Funktion für einen Analytics-Themenbereich wird der Bericht nicht gecacht. Leistungseinbußen können so vermieden werden. Syntax: NOW () ### ### Quarter_Of_Year Gibt die Zahl (zwischen 1 und 4) zurück, die dem Quartal des Jahres für ein angegebenes Datum entspricht. Syntax: QUARTER_OF_YEAR (date_expression) wobei:
date_expression | ein beliebiger Ausdruck ist, der ein Datum ergibt.
### Second Gibt die Zahl (zwischen 0 und 59) zurück, die der Sekunde für eine angegebene Zeit entspricht. Syntax: SECOND (time_expression) wobei:
time_expression | ein beliebiger Ausdruck ist, der eine Uhrzeit ergibt.
### TimestampAdd Die TimestampAdd-Funktion fügt einem angegebenen Zeitstempel eine angegebene Anzahl von Intervallen hinzu. Es wird ein einzelner Zeitstempel zurückgegeben. Syntax: TimestampAdd (interval, integer_expression, timestamp_expression) wobei:
interval | das angegebene Intervall ist. Gültige Werte sind: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
integer_expression | ein beliebiger Ausdruck ist, der eine Ganzzahl ergibt. Dies ist die Anzahl der hinzuzufügenden Intervalle.
timestamp_expression | Der als Grundlage der Berechnung verwendete Zeitstempel.
Ein an diese Funktion übergebener leerer Ganzzahlausdruck oder leerer Zeitstempelausdruck führt zu einem leeren Rückgabewert. Im einfachsten Szenario fügt diese Funktion lediglich entsprechend dem Intervall der jeweiligen Zeitstempelkomponente den angegebenen Ganzzahlwert (integer_expression) hinzu. Das Hinzufügen einer Woche entspricht dem Hinzufügen von sieben Tagen, und das Hinzufügen eines Quartals entspricht dem Hinzufügen von drei Monaten. Bei einem negativen Ganzzahlwert wird subtrahiert (zeitlich zurückgegangen). Ein überlauf der jeweiligen Komponente (etwa mehr als 60 Sekunden, 24 Stunden, zwölf Monate usw.) macht es erforderlich, der nächsten Komponente die entsprechende Menge hinzuzufügen. Wenn beispielsweise der Tageskomponente eines Zeitstempels etwas hinzugefügt wird, geht diese Funktion von einem überlauf aus und berücksichtigt die Anzahl der Tage in einem bestimmten Monat (einschließlich Schalttagen, wenn Februar 29 Tage hat). Wenn der Monatskomponente eines Zeitstempels etwas hinzugefügt wird, prüft diese Funktion, ob der entstandene Zeitstempel ausreichend Tage für die Tageskomponente aufweist. Wenn beispielsweise 2000-05-31 ein Monat hinzugefügt wird, lautet das Ergebnis nicht 2000-06-31, da der Juni keine 31 Tage hat. Durch diese Funktion wird die Tageskomponente des letzten Tages des Monats verringert, in diesem Beispiel auf 2000-06-30. Ein ähnliches Problem tritt auf, wenn einer Jahreskomponente eines Zeitstempels mit der Monatskomponente Februar und der Tageskomponente 29 (also dem letzten Februartag in einem Schaltjahr) Zeit hinzugefügt wird. Wenn der entstandene Zeitstempel nicht in ein Schaltjahr fällt, verringert die Funktion die Tageskomponente auf 28. Es folgen einige Beispiele für die TimestampAdd-Funktion: Das folgende Codebeispiel fragt den gebildeten Zeitstempel ab, wenn 3 Tage zu 2000-02-27 14:30:00 hinzugefügt werden. Da der Februar 2000 ein Schaltjahr ist, wird ein einziger Zeitstempel 2000-03-01 14:30:00 zurückgegeben. TimestampAdd(SQL_TSI_DAY, 3, TIMESTAMP‘2000-02-27 14:30:00’) Das folgende Codebeispiel fragt den gebildeten Zeitstempel ab, wenn 7 Monate zu 1999-07-31 0:0:0 hinzugefügt werden. Hierdurch wird ein einziger Zeitstempel 2000-02-29 00:00:00 gebildet. Beachten Sie die auf 29 verringerte Tageskomponente, da Februar ein kürzerer Monat ist. TimestampAdd(SQL_TSI_MONTH, 7, TIMESTAMP‘1999-07-31 00:00:00’) Das folgende Codebeispiel fragt den gebildeten Zeitstempel ab, wenn 25 Minuten zu 2000-07-31 23:35:00 hinzugefügt werden. Hierdurch wird ein einziger Zeitstempel 2000-08-01 00:00:00 gebildet. Beachten Sie, wie der überlauf bis zur Monatskomponente weitergeführt wird. TimestampAdd(SQL_TSI_MINUTE, 25, TIMESTAMP‘2000-07-31 23:35:00’) ### ### TimeStampDiff Die TimestampDiff-Funktion gibt die Gesamtzahl der angegebenen Intervalle zwischen zwei Zeitstempeln zurück. Syntax: TimestampDiff (interval, timestamp_expression1, timestamp_expression2) wobei:
interval | das angegebene Intervall ist. Gültige Werte sind: SQL_TSI_SECOND SQL_TSI_MINUTE SQL_TSI_HOUR SQL_TSI_DAY SQL_TSI_WEEK SQL_TSI_MONTH SQL_TSI_QUARTER SQL_TSI_YEAR
timestamp_expression1 | der Zeitstempel ist, der vom zweiten Zeitstempel abgezogen werden soll.
timestamp_expression2 | der zweite Zeitstempel ist. timestamp_expression1 wird von diesem Zeitstempel abgezogen, um die Differenz zu ermitteln.
Ein an diese Funktion übergebener leerer Zeitstempelausdruck führt zu einem leeren Rückgabewert. Diese Funktion bestimmt zunächst die Zeitstempelkomponente, die dem angegebenen Intervallparameter entspricht. Beispielsweise entspricht SQL_TSI_DAY der Tageskomponente und SQL_TSI_MONTH der Monatskomponente. Die Funktion zieht dann die Komponenten höherer Ordnung beider Zeitstempel heran, um die Gesamtzahl der Intervalle für jeden Zeitstempel zu berechnen. Wenn das angegebene Intervall beispielsweise der Monatskomponente entspricht, berechnet die Funktion die Gesamtzahl der Monate für jeden Zeitstempel, indem sie die Monatskomponente und zwölfmal die Jahreskomponente hinzufügt. Die Funktion zieht schließlich die Gesamtzahl der Intervalle von der Gesamtzahl der Intervalle des zweiten Zeitstempels ab. Bei der Berechnung des Unterschieds in Tagen schneidet die Funktion die Zeitwerte aus beiden Timestamp-Ausdrücken ab und subtrahiert dann die Datumswerte. Bei der Berechnung des Unterschieds in Wochen berechnet die Funktion den Unterschied in Tagen und dividiert vor der Rundung durch sieben. Bei der Berechnung des Unterschieds in Quartalen berechnet die Funktion den Unterschied in Monaten und dividiert vor der Rundung durch drei. Bei der Berechnung des Unterschieds in Jahren berechnet die Funktion den Unterschied in Monaten und dividiert vor der Rundung durch zwölf. #### TimestampDiff-Funktion und Ergebnisbeispiel Das folgende Codebeispiel fragt einen Unterschied in Tagen zwischen den Zeitstempeln 1998-07-31 23:35:00 und 2000-04-01 14:24:00 ab. Es wird das Ergebnis 610 zurückgegeben. Beachten Sie, dass das Schaltjahr 2000 zu einem zusätzlichen Tag führt. TimestampDIFF(SQL_TSI_DAY, TIMESTAMP‘1998-07-31 23:35:00’, TIMESTAMP‘2000-04-01 14:24:00’) ### ### Week_Of_Quarter Gibt eine Zahl (zwischen 1 und 13) zurück, die der Woche des Quartals für das angegebene Datum entspricht. Syntax: WEEK_OF_QUARTER (date_expression) wobei:
date_expression | ein beliebiger Ausdruck ist, der ein Datum ergibt.
### Week_Of_Year Gibt eine Zahl (zwischen 1 und 53) zurück, die der Woche des Jahres für das angegebenes Datum entspricht. Syntax: WEEK_OF_YEAR (date_expression) wobei:
date_expression | ein beliebiger Ausdruck ist, der ein Datum ergibt.
### Jahr Gibt das Jahr für das angegebene Datum zurück. Syntax: YEAR (date_expression) wobei:
date_expression | ein beliebiger Ausdruck ist, der ein Datum ergibt.
Beispiel: YEAR (CURRENT_DATE)

Veröffentlicht August 2022 | Copyright © 2005, 2022, Oracle und / oder verbundene Unternehmen. Legal Notices.