![]() |
|
Datums- und UhrzeitfunktionenDie 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.) Alle Datumsfunktionen sind ISO 8601-konform. Dies betrifft insbesondere Funktionen wie Week_Of_Year und Week_Of_Quarter, wobei die erste Woche des Jahres die erste vollständige Woche mit einem Donnerstag ist. Detaillierte Information darüber, wie Datumsfunktionen berechnet werden, finden Sie im ISO 8601-Standard. Current_DateGibt das aktuelle Datum zurück. Das Datum wird von dem System bestimmt, auf dem Oracle CRM On Demand Answers ausgeführt wird. Der Wert umfasst keine Uhrzeitkomponente. Syntax: CURRENT_DATE Current_TimeGibt die aktuelle Uhrzeit zurück. Die Uhrzeit wird von dem System bestimmt, auf dem Oracle CRM On Demand Answers ausgeführt wird. Der Wert umfasst 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:
Current_TimeStampGibt den aktuellen Datums-/Zeitstempel zurück. Der Zeitstempel wird aus dem System gelesen, auf dem Oracle CRM On Demand Answers ausgeführt wird. 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:
Day_Of_QuarterGibt 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:
DayNameGibt den Namen des Wochentags (auf Englisch) für ein angegebenes Datum zurück. Syntax: DAYNAME (date_expression) wobei:
DayOfMonthGibt die Zahl zurück, die dem Tag des Monats für ein angegebenes Datum entspricht. Syntax: DAYOFMONTH (date_expression) wobei:
DayOfWeekGibt 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:
DayOfYearGibt die Zahl (zwischen 1 und 366) zurück, die dem Tag des Jahres für ein angegebenes Datum entspricht. Syntax: DAYOFYEAR (date_expression) wobei:
HourGibt 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:
MinuteGibt eine Zahl (zwischen 0 und 59) zurück, die der Minute für eine angegebene Zeit entspricht. Syntax: MINUTE (time_expression) wobei:
MonthGibt eine Zahl (zwischen 1 und 12) zurück, die dem Monat für ein angegebenes Datum entspricht. Syntax: MONTH (date_expression) wobei:
Month_Of_QuarterGibt 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:
MonthNameGibt den Namen des Monats (auf Englisch) für ein angegebenes Datum zurück. Syntax: MONTHNAME (date_expression) wobei:
NowGibt 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_YearGibt 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:
SecondGibt die Zahl (zwischen 0 und 59) zurück, die der Sekunde für eine angegebene Zeit entspricht. Syntax: SECOND (time_expression) wobei:
TimestampAddDie 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:
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’) TimeStampDiffDie TimestampDiff-Funktion gibt die Gesamtzahl der angegebenen Intervalle zwischen zwei Zeitstempeln zurück. Syntax: TimestampDiff (interval, timestamp_expression1, timestamp_expression2) wobei:
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 ErgebnisbeispielDas 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_QuarterGibt 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:
Week_Of_YearGibt 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:
JahrGibt das Jahr für das angegebene Datum zurück. Syntax: YEAR (date_expression) wobei:
Beispiele: YEAR (CURRENT_DATE) |
Veröffentlicht Oktober 2016 | Copyright © 2005, 2016, Oracle. Alle Rechte vorbehalten. Legal Notices. |