Ausdrücke arbeiten mit folgenden Datentypen:
...
- Feldreferenzen zum Referenzieren von Werten in den aktuell geladenen Daten (siehe Kapitel Feldreferenzen)
- numerische Werte, bestehend aus Ziffern, optionalem Plus- oder Minus-Vorzeichen und optionalem Punkt als Dezimalzeichen
- numerische Operatoren:
- „+“, „-“, „*“ und „/“
- „\“ (ganzzahlige Division)
- „%“ (Modulo)
- MOD (ganzzahliger Modulo)
- „^“ (Potenz)
- Klammern („(“ und „)“)
- Vergleichsoperatoren („<“, „>“, „<=“, „>=“, „=“ und „<>“; diese liefern als Ergebnis False und True)
- logische Operatoren („NOT“, „AND“, „OR“ und „XOR“)
- soweit bei „NOT“ der Operand vom Typ „Boolean“
bei „AND“, „OR“ und „XOR“ beide Operanden vom Typ „Boolean“ sind,
liefern die Operatoren als Ergebnis False oder True - ansonsten wird bei „NOT“ der Operand nach entsprechender „Integer“-Konvertierung bitweise negiert
werden bei „AND“, „OR“ und „XOR“ die Operanden nach „Integer“-Konvertierung bitweise verknüpft
(Ergebnis ist immer vom Typ „Integer") - bei "AND", "OR" und "XOR" werden immer beide Seiten des Operators ausgewertet
- soweit bei „NOT“ der Operand vom Typ „Boolean“
- Strings, eingeschlossen in Anführungszeichen ( “ )
- String-Verkettung mit „&“
- Datums-Konstanten im ISO-Format („yyyy-mm-dd“ bzw. „yyyy-mm-ddThh:mm:ss“) in Abgrenzungszeichen ( „#“ )
- Beispiel: „#2014-12-24#“ bzw. „#2014-12-24T18:45:00#“
- Zeit-Konstanten analog zu Datums-Konstanten („Thh:mm:ss“) in Abgrenzungszeichen ( „#“ )
- Beispiel: „#T18:45:00#“
- Konstanten:
- False und True (entsprechen 0 und -1)
- CRLF (Zeilenumbruch für Texte)
- numerische Funktionen:
- „ABS(parameter)“ (Betrag)
- „ACOS(parameter)“ (Arcus Cosinus)
- „ASIN(parameter)“ (Arcus Sinus)
- „ATAN(parameter)“ und „ATN“ (Arcus Tangens)
- „ATN2(parameter1,parameter2)“ Winkel im Bogenmaß (Radiant) zwischen der positiven X-Achse und dem Strahl vom Ursprung zum Punkt (x, y))
- Parameter 1: Wert x des Punktes
- Parameter 2: Wert y des Punktes
- „CEILING(parameter)“ (kleinste Ganzzahl, die größer oder gleich dem übergebenen Ausdruck ist)
- „COS(parameter)“ (Cosinus)
- „COT(parameter)“ (Cotangens)
- „DEGREES(parameter)“ (Umwandlung Winkel im Bogenmaß in Gradmaß)
- „EXP(parameter)“ (e-Funktion)
- „FIX(parameter)“ (ganzzahliger Anteil)
- „FLOOR(parameter)“ (größte ganze Zahl, die kleiner oder gleich dem übergebenen Ausdruck ist)
- „IIF(parameter1,parameter2,paramter3)“ (in Abhängigkeit von Parameter 1 wird Parameter 2 (bei True) oder Parameter 3 (bei False) zurückgegeben)
- „INT(parameter)“ (identisch zu „FLOOR“)
- „LOG(parameter)“ (natürlicher Logarithmus)
- „LOG10(parameter)“ (Logarithmus zur Basis 10)
- „PI()“ (Konstante Pi; Funktion ohne Parameter)
- „POWER(parameter1,parameter2)“ (Potenzfunktion; identisch zu <parameter1>^<parameter2>)
- „RADIANS(parameter)“ (Umwandlung Winkel im Gradmaß in Bogenmaß)
- „ROUND(parameter1,parameter2)“ bzw. „ROUND(parameter1,parameter2,parameter3)“ (Runden eines numerischen Ausdrucks gemäß IEEE-754-Standard; d.h. wenn die Ziffer an der ersten wegfallenden Dezimalstelle lediglich eine 5 oder eine 5, auf die nur Nullen folgen, ist, wird derart gerundet, dass die letzte beizubehaltende Ziffer gerade wird)
- Parameter 1: zu rundender Wert
- Parameter 2: Anzahl der gewünschten Nachkommastellen (negative Werte runden auf der linken Seite des Kommas)
- Parameter 3 (optional): Angabe, ob gerundet (0; Standard) oder gekürzt (alle anderen Werte) werden soll
- ROUNDC(parameter1,parameter2)“ (Kaufmännisches Runden eines numerischen Ausdrucks gemäß DIN 1333; d.h. wenn die Ziffer an der ersten wegfallenden Dezimalstelle eine 0, 1, 2, 3 oder 4, dann wird abgerundet und bei 5, 6, 7, 8 oder 9, dann wird aufgerundet.
- Parameter 1: zu rundender Wert
- Parameter 2: Anzahl der gewünschten Nachkommastellen (negative Werte runden auf der linken Seite des Kommas)
- „SGN(parameter)“ (Vorzeichenfunktion; 1 bei positiven Werte, -1 bei negativen Werten und 0 bei Null)
- „SIGN(parameter)“ (identisch zu „SGN“)
- „SIN(parameter)“ (Sinus)
- „SQR(parameter)“ (Quadratwurzel)
- „SQRT(parameter)“ (identisch zu „SQR“)
- „SQUARE(parameter)“ (Quadratfunktion)
- „TAN(parameter)“ („Tangens“)
- Datum-Zeit-Funktionen:
- „DATEADD(parameter1,parameter2,parameter3)“ (Addition von Zeiteinheiten auf einen Datum-Zeit-Wert)
- Parameter 1: Einheit (String)
- „year“ oder „yyyy“ oder „yy“ für Jahr
- „quarter“ oder „qq“ oder „q“ für Quartal
- „month“ oder „mm“ oder „m“ für Monat
- „day“ oder „dd“ oder „d“ für Tag
- „week“ oder „wk“ oder „ww“ für Woche
- „hour“ oder „hh“ für Stunde
- „minute“ oder „mi“ oder „n“ für Minute
- „second“ oder „ss“ oder „s“ für Sekunde
- Parameter 2: Anzahl (Int32)
- Parameter 3: Datum (Date)
- Parameter 1: Einheit (String)
- „DATEDIFF(parameter1,parameter2,parameter3)“ (Differenz zwischen zwei Datum-Zeit-Werten)
- Parameter 1: Einheit (String) analog „DATEADD“
- Parameter 2: Startwert
- Parameter 3: Endwert
- „DATESERIAL(parameter1,parameter2,parameter3)“ („Date“ aus Integer-Werten erzeugen)
- Parameter 1: Jahr
- Parameter 2: Monat
- Parameter 3: Tag
- „DAY(parameter)“ (Tag des Datum-Zeit-Wertes)
- „GETDATE()“ (aktuelles Systemdatum ohne Uhrzeit)
- „GETDATETIME()“ (aktuelles Systemdatum mit Uhrzeit)
- „MONTH(parameter)“ (Monat des Datum-Zeit-Wertes)
- „TIMESERIAL(parameter1,parameter2,parameter3)“ („Time“ aus Integer-Werten erzeugen)
- Parameter 1: Stunden
- Parameter 2: Minuten
- Parameter 3: Sekunden
- „YEAR(parameter)“ (Jahr des Datum-Zeit-Wertes)
- „DATEADD(parameter1,parameter2,parameter3)“ (Addition von Zeiteinheiten auf einen Datum-Zeit-Wert)
- String-Funktionen:
- „LEFT(parameter1,parameter2)“ (linker Teil eines Strings mit Angabe der gewünschten Zeichenanzahl)
- Parameter 1: String
- Parameter 2: gewünschte Zeichenzahl
- „LEN(parameter)“ (String-Länge)
- „LOWER(parameter)“ (Konvertierung des Strings in Klein-Buchstaben)
- „LTRIM(parameter)“ (Abschneiden von Leerzeichen auf der linken Seite)
- „REPLACE(parameter1,parameter2,parameter3)“ (Ersetzen einer Zeichenfolge durch eine andere)
- Parameter 1: String
- Parameter 2: gesuchte und zu ersetzende Zeichenfolge
- Parameter 3: Zeichenfolge, durch die die Zeichenfolge in Parameter 2 ersetzt werden soll
- „RIGHT(parameter1,parameter2)“ (rechter Teil eines Strings mit Angabe der gewünschten Zeichenanzahl)
- Parameter 1: String
- Parameter 2: gewünschte Zeichenzahl
- "ISREGEXMATCH(parameter1,paramater2)" (Prüfung, ob Parameter 1 dem regulären Ausdruck in Parameter 2 entspricht; Ergebnis ist True bzw. False;
- „LEFT(parameter1,parameter2)“ (linker Teil eines Strings mit Angabe der gewünschten Zeichenanzahl)
...
Alle Werte in den Ausdrücken werden kulturunabhängig verarbeitet.
- Abgerufene Feldwerte (über in eckigen Klammern angegebene Feldnamen) erzeugen eine kulturunabhängige Textdarstellung).
- Konstante Werte müssen in kulturunabhängiger Formatierung angegeben werden.
Beispiele für kulturunabhängige Formatierungen:
- Datumswerte werden im ISO-Format ("JJJJ-MM-TT") ohne Zeit formatiert.
- Beispiel: Der "27.05.2020" wird dargestellt als "2020-05-27".
- Nummerische Werte haben als Dezimaltrennzeichen den Punkt.