ESQL-spezifische Funktion |
|
ESQL-Äquivalent |
esql:date($arg) |
|
CAST($arg AS DATE) |
esql:time($arg) |
|
CAST($arg AS TIME) |
esql:timestamp($arg) |
|
CAST($arg AS TIMESTAMP) |
esql:gmttime($arg) |
|
CAST($arg AS GMTTIME) |
esql:gmttimestamp($arg) |
|
CAST($arg AS GMTTIMESTAMP) |
esql:interval-year($arg) |
|
CAST($arg AS INTERVAL YEAR) |
esql:interval-year-to-month($arg) |
|
CAST($arg AS INTERVAL YEAR TO
MONTH) |
esql:interval-month($arg) |
|
CAST($arg AS INTERVAL MONTH) |
esql:interval-day-to-hour($arg) |
|
CAST($arg AS INTERVAL DAY TO HOUR) |
esql:interval-day-to-second($arg) |
|
CAST($arg AS INTERVAL DAY TO SECOND) |
esql:interval-hour-to-minute($arg) |
|
CAST($arg AS INTERVAL HOUR TO MINUTE) |
esql:interval-hour-to-second($arg) |
|
CAST($arg AS INTERVAL HOUR TO SECOND) |
esql:interval-minute($arg) |
|
CAST($arg AS INTERVAL MINUTE) |
esql:interval-minute-to-second($arg) |
|
CAST($arg AS INTERVAL MINUTE TO
SECOND) |
esql:interval-second($arg) |
|
CAST($arg AS INTERVAL SECOND) |
Anmerkung: 1. $arg steht für einen beliebigen ESQL-Ausdruck
|
|
|
|
|
|
esql:current-date |
|
CURRENT_DATE |
esql:current-gmtdate |
|
CURRENT_GMTDATE |
esql:current-gmttime |
|
CURRENT_GMTTIME |
esql:current-gmttimestamp |
|
CURRENT_GMTTIMESTAMP |
esql:current-time |
|
CURRENT_TIME |
esql:current-timestamp |
|
CURRENT_TIMESTAMP |
esql:local-timezone |
|
LOCAL_TIMEZONE |
|
|
|
esql:like($string, $pattern) |
|
$string LIKE $pattern |
esql:like($string, $pattern, $escape) |
|
$string LIKE $pattern ESCAPE $escape
|
Anmerkung: 2. $pattern kann ein beliebiger regulärer ESQL-Ausdruck sein
|
|
|
esql:position(string $search, string
$source) |
|
POSITION($search IN $source) |
esql:position(string $search, string
$source, integer $from) |
|
POSITION($search IN $source FROM
$from) |
esql:position(string $search,
string $source, integer $from, integer $repeat) |
|
POSITION($search IN $source FROM
$from REPEAT $repeat) |
esql:trim-both(string $from) |
|
TRIM(BOTH FROM $from) |
esql:trim-both(string $token, string
$from) |
|
TRIM(BOTH $token FROM $from) |
esql:trim-leading(string $from) |
|
TRIM(LEADING FROM $from) |
esql:trim-leading(string $token,
string $from) |
|
TRIM(LEADING $token FROM $from) |
esql:trim-trailing(string $from) |
|
TRIM(TRAILING FROM $from) |
|
|
|
Anmerkung: 3. Alle anderen ESQL-Funktionen können auf AS-IS-Basis mit dem Präfix 'esql' aufgerufen werden:
|
|
|
|
|
|
fn:false() as xs:boolean |
|
FALSE |
fn:sum($arg as xdt:anyAtomicType*)
as xdt:anyAtomicType |
|
Siehe XPath-Spezifikation. Die XPath-Folgenschreibweise wird nicht unterstützt, deshalb ist die Eingabe auf einen Quellenverweispfad beschränkt |
fn:concat($arg1 as xdt:anyAtomicType?,
$arg2 as xdt:anyAtomicType?) as xs:string |
|
$arg1 || $arg2. Obwohl XPath
n Argumente unterstützt, liegt der Grenzwert hier bei zwei Argumenten, mit der Möglichkeit, Funktionen zu verschachteln, um das n-Argumentverhalten zu replizieren: fn:concat(fn:concat($arg1,
$arg2), $arg3)) |
fn:empty($arg as item()*) as xs:boolean |
|
$arg IS NULL |
|
|
|
XPath-Extraktionsfunktionen |
|
Äquivalent zur ESQL-EXTRACT-Funktion |
fn:year-from-dateTime |
|
Siehe XPath-Spezifikation |
fn:month-from-dateTime |
|
Siehe XPath-Spezifikation |
fn:day-from-dateTime |
|
Siehe XPath-Spezifikation |
fn:hours-from-dateTime |
|
Siehe XPath-Spezifikation |
fn:minutes-from-dateTime |
|
Siehe XPath-Spezifikation |
fn:seconds-from-dateTime |
|
Siehe XPath-Spezifikation |
fn:year-from-date |
|
Siehe XPath-Spezifikation |
fn:month-from-date |
|
Siehe XPath-Spezifikation |
fn:day-from-date |
|
Siehe XPath-Spezifikation |
fn:hours-from-time |
|
Siehe XPath-Spezifikation |
fn:minutes-from-time |
|
Siehe XPath-Spezifikation |
fn:seconds-from-time |
|
Siehe XPath-Spezifikation |
fn:years-from-duration |
|
Siehe XPath-Spezifikation |
fn:months-from-duration |
|
Siehe XPath-Spezifikation |
fn:days-from-duration |
|
Siehe XPath-Spezifikation |
fn:hours-from-duration |
|
Siehe XPath-Spezifikation |
fn:minutes-from-duration |
|
Siehe XPath-Spezifikation |
fn:seconds-from-duration |
|
Siehe XPath-Spezifikation |
|
|
|
XPath-Datentypänderungen |
|
Diese entsprechen den ESQL-CAST-Operationen |
xs:hexBinary |
|
|
xs:boolean |
|
|
xs:string |
|
|
xs:date |
|
Siehe Hinweis 4. Das Argument muss ein Zeichenfolgeliteral oder ein Verweis auf ein Zeichenfolgeliteral sein. |
xs:time |
|
Siehe Hinweis 4. Das Argument muss ein Zeichenfolgeliteral oder ein Verweis auf ein Zeichenfolgeliteral sein. |
xs:dateTime |
|
Siehe Hinweis 4. Das Argument muss ein Zeichenfolgeliteral oder ein Verweis auf ein Zeichenfolgeliteral sein. |
xs:duration |
|
Siehe Hinweis 4. Das Argument muss ein Zeichenfolgeliteral oder ein Verweis auf ein Zeichenfolgeliteral sein. |
xdt:yearMonthDuration |
|
Siehe Hinweis 4. Das Argument muss ein Zeichenfolgeliteral oder ein Verweis auf ein Zeichenfolgeliteral sein. |
xdt:dayTimeDuration |
|
Siehe Hinweis 4. |
xs:decimal |
|
|
xs:double |
|
|
xs:long |
|
|
Anmerkung: 4. Hinweis: Die fett hervorgehobenen Funktionen sind den Umsetzungen 'esql:date',
'esql:time', 'esql:timeStamp', 'esql:interval*' ähnlich, jedoch nicht äquivalent dazu. Die Verwendung ist für beide Umsetzungsklassen für Datum/Uhrzeit/Dauer begrenzt: ESQL-Umsetzungen für Datum/Uhrzeit/Dauer können durch MRM analysierte Eingaben (xs:date, xs:time, xs:duration, etc) und Zeichenfolgeliterale, die dem ESQL-Format entsprechen, verarbeiten. Die XPath-Umsetzungen für Datum/Uhrzeit/Dauer werden bereitgestellt, um das ISO8601-Zeichenfolgeformat zu unterstützen, das die ESQL-CAST-Funktion nicht richtig verarbeitet. Sie unterstützt nur Zeichenfolgeliterale oder Verweise auf Zeichenfolgeliterale.
|
|
|
|
|
|
MsgMap-Funktionen |
|
|
msgmap:occurrence($sourcePath)
as xs:integer |
|
Gibt die aktuelle Quelleninstanz zurück |
msgmap:exact-type($sourcePath,
$nsLiteral, $typeLiteral) as xs:boolean |
|
Gibt 'true' zurück, wenn 'xsi:type' der Quelle dem angegebenen Namespace und Typliteral entspricht |