Mit den Datums- und Uhrzeitfunktionen werden Daten basierend auf DATE
und DATETIME
geändert.
Funktion | Beispiel | Beschreibung | Syntax |
---|---|---|---|
CONVERT_TZ | CONVERT_TZ(Order Date, 'UTC', 'America/Denver') |
Konvertiert einen Datetime-Wert expr von der durch Old time zone angegebenen Zeitzone in die durch New time zone angegebene Zeitzone und gibt den daraus resultierenden Wert zurück. |
CONVERT_TZ(expr, 'Old time zone', 'New time zone') |
CURRENT_Date |
|
Gibt das aktuelle Datum zurück. Das Datum wird durch das System bestimmt, in dem Oracle BI ausgeführt wird. |
|
CURRENT_TIME |
|
Gibt die aktuelle Zeit mit der angegebenen Genauigkeit zurück; Beispiel: HH:MM:SS.SSS Wenn kein Argument angegeben wird, gibt die Funktion die Standardstellenzahl zurück. |
|
CURRENT_TIMESTAMP |
|
Gibt das aktuelle Datum/den aktuellen Zeitstempel mit der angegebenen Genauigkeit zurück. |
|
DAYNAME |
|
Gibt den Namen des Wochentags für einen angegebenen Datumsausdruck zurück. |
|
DAYOFMONTH |
|
Gibt die Zahl für den Tag des Monats eines festgelegten Datumsausdrucks zurück. |
|
DAYOFWEEK |
|
Gibt eine Zahl zwischen 1 und 7 für den Tag der Woche eines festgelegten Datumsausdrucks zurück. Beispiel: 1 entspricht immer Sonntag, 2 Montag usw. bis Samstag, für den 7 zurückgegeben wird. |
|
DAYOFYEAR |
|
Gibt eine Zahl zwischen 1 und 366 für den Tag des Jahres eines festgelegten Datumsausdrucks zurück. |
|
DAY_OF_QUARTER |
|
Gibt eine Zahl zwischen 1 und 92 für den Tag des Quartals eines festgelegten Datumsausdrucks zurück. |
|
HOUR |
|
Gibt eine Zahl zwischen 0 und 23 für die Stunde eines festgelegten Uhrzeitausdrucks zurück. Beispiel: Die Zahl 0 entspricht 24.00 Uhr, und die Zahl 23 entspricht 23.00 Uhr. |
|
MINUTE |
|
Gibt eine Zahl zwischen 0 und 59 für die Minute eines festgelegten Uhrzeitausdrucks zurück. |
|
MONTH |
|
Gibt eine Zahl zwischen 1 und 12 für den Monat eines festgelegten Datumsausdrucks zurück. |
|
MONTHNAME |
|
Gibt den Namen des Monats eines festgelegten Datumsausdrucks zurück. |
|
MONTH_OF_QUARTER |
|
Gibt eine Zahl zwischen 1 und 3 für den Monat des Quartals eines festgelegten Datumsausdrucks zurück. |
|
NOW |
|
Gibt den aktuellen Zeitstempel zurück. Die Funktion |
|
QUARTER_OF_YEAR |
|
Gibt eine Zahl zwischen 1 und 4 für das Quartal des Jahrs eines festgelegten Datumsausdrucks zurück. |
|
SECOND |
|
Gibt eine Zahl zwischen 0 und 59 für die Sekunden eines festgelegten Uhrzeitausdrucks zurück. |
|
TIMESTAMPADD |
|
Fügt einem Zeitstempel eine definierte Anzahl von Intervallen hinzu und gibt einen einzelnen Zeitstempel zurück. Intervalloptionen: SQL_TSI_SECOND, SQL_TSI_MINUTE, SQL_TSI_HOUR, SQL_TSI_DAY, SQL_TSI_WEEK, SQL_TSI_MONTH, SQL_TSI_QUARTER, SQL_TSI_YEAR |
|
TIMESTAMPDIFF |
|
Gibt die Gesamtanzahl von definierten Intervallen zwischen zwei Zeitstempeln zurück. Verwendet dieselben Intervalle wie TIMESTAMPADD. |
|
WEEK_OF_QUARTER |
|
Gibt eine Zahl zwischen 1 und 13 für die Woche des Quartals eines festgelegten Datumsausdrucks zurück. |
|
WEEK_OF_YEAR |
|
Gibt eine Zahl zwischen 1 und 53 für die Woche des Jahres eines festgelegten Datumsausdrucks zurück. |
|
YEAR |
|
Gibt das Jahr des festgelegten Datumsausdrucks zurück. |
|
Befolgen Sie diese Tipps, um die besten Ergebnisse mit Datumsfunktionen in Ihren Arbeitsmappen zu erhalten. Damit können Sie Geschäftsperioden berechnen, Zeichenfolgen in Datumsangaben konvertieren, Datum und Uhrzeit in einer bestimmten Zeitzone anzeigen und Differenzen im Zeitablauf berechnen.
Geschäftsjahr, -quartal und -monat berechnen:
Themenbereiche weisen in der Regel eine Time-Dimension auf, sodass Sie die vorkonfigurierten Perioden wie Geschäftsquartal, Geschäftsmonat und Geschäftswoche verwenden können. Wenn Sie nur über ein Datumsfeld verfügen, können Sie diese Perioden anhand von Datumsfunktionen selbst berechnen.
Mit diesem Beispiel wird das Geschäftsquartal berechnet:
'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||'Q'||cast(QUARTER(TIMESTAMPADD(SQL_TSI_MONTH, 7,<same date field>)) as char)
Mit diesem Beispiel werden Geschäftsjahr und -monat berechnet:
'FY'||cast(YEAR(TIMESTAMPADD(SQL_TSI_MONTH, 7,<date field>)) as char)||cast(MONTHNAME(<same date field>) as char)
Hinweise:
||
verketten Sie Werte.cast (xxx(date) as char)
extrahieren Sie einen Teil eines Datumsfeldes.TIMESTAMPADD
addieren (oder subtrahieren) Sie Perioden mit bzw. von einem Datum. In diesem Beispiel wird der Parameterwert SQL_TSI_MONTH verwendet, um Monate hinzuzufügen.Die oben genannten Berechnungen eignen sich gut für Tabellen. Bei der Verwendung in Filtern kann der Abstand zwischen den zurückgegebenen Werten allerdings ungewöhnlich aussehen. Verwenden Sie in diesem Fall eine übersichtlichere, aber komplexere Berechnung basierend auf diesen Beispielen:
'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-Q'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<same date field>,7)),'Q')
'FY'||evaluate ('to_char(%1,%2)'as char,(EVALUATE('add_months(%1,%2)' as date,<date field>,7)),'YY')||'-'||evaluate ('to_char(%1,%2)'as char,<same date field>,'MON')
Zeichenfolge in ein Datum konvertieren:
Fügen Sie im Textfeld, in dem der Name der Spalte blau dargestellt ist, To_DateTime
ein (vor dem Spaltennamen), und fügen Sie das gewünschte Datumsformat nach dem Spaltennamen hinzu. Klicken Sie anschließend auf Schritt hinzufügen.
.png
Wenn Sie die Option "Bearbeiten" verwenden, um die Datumskonvertierungsfunktion zu erstellen, können Sie auch Allow_Variable_Digits
nutzen, um Spaltenwerte mit ein- oder zweistelligen Zahlen zu verarbeiten, und Null_On_Error
-Argumente, um Zeilen zu verwerfen, die nicht dem erforderlichen Muster entsprechen. Alternative Möglichkeiten zur Verarbeitung von Daten, die nicht dem erforderlichen Muster entsprechen, finden Sie unter REPLACE und CAST.
Verwenden Sie als Alternative zu To_DateTime()
CAST(), um den Datentyp eines Wertes zu ändern. Beispiel: CAST(SalesDate AS DATE)
.
Verwenden Sie darüber hinaus die Option Ersetzen. Navigieren Sie im Arbeitsmappendesigner im Datenbereich zur gewünschten Spalte, klicken Sie mit der rechten Maustaste darauf, und wählen Sie Ersetzen aus. Konfigurieren Sie den gewünschten Ersetzungstyp, und klicken Sie auf Schritt hinzufügen.
Datums- und Uhrzeitfeld in einer bestimmten Zeitzone anzeigen:
Verwenden Sie die neue NEW_TIME-Funktion in der Datenbank zusammen mit EVALUATE. Beispiel:
evaluate ('new_time(%1,%2,%3)' as char, "DV - Pipeline and Forecast"."Opportunity"."Last Updated Date",'GMT','AST')
Stellen Sie sicher, dass das Datumsfeld die Zeitkomponente enthält.
Differenz im Zeitablauf berechnen:
filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
Measure - filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))
1-(filter (Measure using date <= TIMESTAMPADD(SQL_TSI_DAY,-1,CURRENT_DATE))/Measure display as percentage
Hinweise:
SQL_TSI_DAY
, Sie können aber auch WEEK und MONTH für den Wochen- bzw. den Monatsvergleich nutzen.