Einfache Funktionen können in den Klauseln SELECT, OVER, WHERE, ORDER BY, GROUP BY und HAVING in RAQL-Abfragen verwendet werden. Diese Funktionen ändern normalerweise entweder den Datentyp oder die Spaltenwerte, extrahieren einen Teil der Werte oder wandeln Werte auf eine bestimmte Art um.
Einfache Funktionen werden individuell auf Werte einer Zeile angewendet, ohne dass sie Zugriff auf Werte in anderen Zeilen haben, und sie geben einen einzelnen Wert zurück.
Funktion |
Beschreibung |
column_name(Any col_1, Any col_2, ..., Any col_n, Number index) column_name(Any col) |
Gibt den Spaltenwert an Position index aus den Spalten col_1, col_2, ..., col_n zurück. Der Index wird gerundet, wenn er kein Ganzzahlwert ist und er wird nicht benötigt, wenn nur eine Spalte verwendet wird. |
column_type(Any col_1, Any col_2, ..., Any col_n, Number index) column_type(Any col) |
Gibt den Spaltennamen an Position index aus den Spalten col_1, col_2, ..., col_n zurück. Der Index wird gerundet, wenn er kein Ganzzahlwert ist und er wird nicht benötigt, wenn nur eine Spalte verwendet wird. |
custom_month(String col-or-expr) |
Extrahiert den Monat aus Datumsangaben im Format EEE MMM dd HH:mm:ss z yyyy und gibt die Anzahl der Monate als Ganzzahl zurück. Es werden englische Monatsnamen verwendet. |
dayOfWeek(Date col-or-expr) dayOfWeek(String col-or-expr) dayOfWeek(Long col-or-expr) |
Wandelt die Werte für diese Spalte oder diesen Ausdruck in ein Datum um und gibt den Wochentag als Ganzzahl [1 - 7] zurück. Diese Zahl bezieht sich auf das Gebietsschema für den MashZone NextGen-Server. Tag 1 ist beispielsweise Sonntag in den Vereinigten Staaten, aber Montag in Deutschland. |
epoc_sec_to_date |
Repräsentiert intern die Java-Notation der Zeit als Millisekunden seit Mitternacht des 1. Januar 1970 UTC.
Beispiele
|
extract_date(Date dt, String field) |
Extrahiert den Teil von Datum und Uhrzeit aus Werten für diese durch den Parameter dt gekennzeichnete Spalte oder Ausdruck. Gültige Feldwerte sind:
|
extract_hour(Date dt) extract_hour(String dt) extract_hour(Long dt) |
Extrahiert den Stundenanteil aus Datum und Uhrzeit in der Spalte oder dem Ausdruck, die/der durch den Parameter dt gekennzeichnet ist. |
extract_minute(Date dt) extract_minute(String dt) extract_minute(Long dt) |
Extrahiert den Minutenanteil aus Datum und Uhrzeit in der Spalte oder dem Ausdruck, die/der durch den Parameter dt gekennzeichnet ist. |
extract_month(Date dt) extract_month(String dt) extract_month(Long dt) |
Extrahiert den Monatsanteil aus Datum und Uhrzeit in der Spalte oder dem Ausdruck, die/der durch den Parameter dt gekennzeichnet ist. |
extract_second(Date dt) extract_second(String dt) extract_second(Long dt) |
Extrahiert den Sekundenanteil aus Datum und Uhrzeit in der Spalte oder dem Ausdruck, die/der durch den Parameter dt gekennzeichnet ist. |
extract_week(Date dt) extract_week(String dt) extract_week(Long dt) |
Extrahiert den Wochenanteil aus Datum und Uhrzeit in der Spalte oder dem Ausdruck, die/der durch den Parameter dt gekennzeichnet ist. |
extract_year(Date dt) extract_year(String dt) extract_year(Long dt) |
Extrahiert den Jahresanteil aus Datum und Uhrzeit in der Spalte oder dem Ausdruck, die/der durch den Parameter dt gekennzeichnet ist. |
format_date(Date value) format_date(Date value, String datePattern) format_date(Date value, String datePattern, String timeZone) |
Konvertiert einen Datumswert in eine Stringdarstellung im entsprechenden Zielformat und entsprechender Zielzeitzone.
Beispiele
|
format_date (dateColumn, datePattern) |
Entspricht format_date(dateColum, datePattern, 'GMT') |
format_date (dateColumn) |
Entspricht format_date(dateColum, 'yyyy-MM-dd'T'HH:mm:ss.SSSZ', 'GMT') |
geo_distance(String column-or-lat1, String column-or-long1, String column-or-lat2, String column-or-long2) |
Berechnet die geografische Distanz zwischen zwei Standorten, die durch Längengrad und Breitengrad bezeichnet sind. Oft wird ein Koordinatenpaar aus zwei Spalten oder Ausdrücken in den Daten bereitgestellt und das andere wird als literaler Werte angegeben. Sollte ein beliebiger Parameter gleich Null sein, wird ein Nullwert zurückgegeben. |
matches(String col-or-expr, String pattern) |
Legt fest, ob ein String, der mit dem regulären Ausdruck in pattern übereinstimmt, anywhere innerhalb der Werte der Spalte oder des Ausdrucks vorhanden ist. Der Abgleich beachtet die Groß-/Kleinschreibung. Gibt einen booleschen Wert zurück (true oder false). Beispiel: where matches(firstname,'ra[n|l]')='true' Entspricht Frank, Gerald oder Randy in der Spalte der Vornamen. Wenn Sie exakte reguläre Abgleiche von Ausdrücken ohne implizite Platzhalter durchführen möchten, nutzen Sie die Funktion regex. |
nvl(String col-or-expr, String str) nvl(Date col-or-expr, String str) nvl(Number col-or-expr, String str) |
Ersetzt Nullwerte in der angegebenen Spalte oder im angegebenen Ausdruck mit dem festgelegten Stringwert. Hinweis: In vorherigen Releases wurden Stringspalten mit ausschließlich Leerzeichen (Leerzeichen, Tabulator, usw.) als Nullwert behandelt. Ab 3.8 werden Spalten mit Stringwerten nur dann als null betrachtet, wenn sie keinen Wert oder einen leeren String beinhalten. |
project(Xcol_1, X col_2, ..., X col_n, Number index) |
Gibt den Wert an der Position index aus den Spalten col_1, col_2, ..., col_n eines gemeinsamen Typs X zurück. Ist der Indexwert keine ganze Zahl, wird er gerundet. |
quarter(Date col-or-expr) quarter(String col-or-expr) quarter(Long col-or-expr) |
Wandelt die Werte für diese Spalte oder diesen Ausdruck in ein Datum um und gibt die Nummer des Quartals als Ganzzahl zurück. |
regex(String col-or-expr, String pattern) |
Ermittelt, ob ein String, der mit dem regulären Ausdruck in pattern übereinstimmt, in den Werten der Spalte oder des Ausdrucks wie angegeben vorhanden ist. Der Abgleich beachtet die Groß-/Kleinschreibung. Gibt einen booleschen Wert zurück (true oder false). Hinweis: Diese Funktion fügt keine impliziten Platzhalter zum regulären Ausdruck hinzu. Um nach einem String anywhere in Spaltenwerten zu suchen, verwenden Sie die Funktion matches. Beispiel: where regex(firstname,'ra[n|l]')=true Stimmt mit Ralph oder Randy in der Vornamen-Spalte überein, aber nicht mit Frank oder Gerald. |
split_part(String col-or-expr, String delim, Integer part) split_part(String col-or-expr, Character delim, Integer part) |
Gibt den n-ten Teil der Werte in dieser Spalte oder diesem Ausdruck zurück, wenn die Werte bei jedem in delim definierten Trennzeichen geteilt werden. Beispiel: split_part("INV:2012:GHI345",":",3) Gibt den String "GHI345" zurück. |
split_regex((String col-or-expr, String pattern, Integer part) |
Diese Funktion stimmt mit split_part überein, mit der Ausnahme, dass das Trennzeichen zum Teilen der Spaltenwerte aus pattern ein regulärer Ausdruck ist. |
time_mask(Date column, String mask) time_mask(String column, String mask) |
Konvertiert den Wert für diese Spalte oder diesen Ausdruck in ein Datum und eine Uhrzeit, bei Bedarf im Format yyyy-MM-dd:HH:mm:ss. Hinweis: Sollten die Werte für die Spalte keine Uhrzeiten enthalten, wird die Uhrzeit auf 00:00:00 festgelegt. Es wird der Anteil dieses Datums und dieser Uhrzeit anhand des Zeitanteils extrahiert, der durch die Maske erkannt wird. Gültige Masken sind:
|
to_date(String value) to_date(String value, String datePattern) to_date(String value, String datePattern, String timeZone) |
Konvertiert einen Stringwert in 'Date'. Das datePattern, wenn vorhanden, ist ein beliebiges Muster, das vom Java-SimpleDateFormat akzeptiert wird. Wird kein Muster angegeben, kann sich diese Funktion negativ auf die Leistung auswirken, da sie versucht, den String durch Durchsuchen der folgenden Datumsformate umzuwandeln.
Hinweis: Weitere Informationen zu Datumsmustern finden Sie in der Java-Klasse SimpleDateFormat. timeZone kann eine beliebige Zeitzonen-ID sein, die von der Java-Methode TimeZone.getTimeZone verstanden wird. Weitere Details finden Sie in der entsprechenden Java-Dokumentation. Varianten dieser Funktion ohne einen timeZone-Parameter verwenden die konfigurierte Feed-Verarbeitungs-Zeitzone. |
truncate(Number col-or-expr, Number decimals) |
Bei numerischen Werten oder Ausdrücken wird hiermit die Zahl auf die festgelegte Anzahl Dezimalstellen abgeschnitten. Sollte der Dezimal-Parameter ausgelassen werden, wird die Zahl auf null Dezimalstellen abgeschnitten. |