Ausdrücke - Operatoren, Funktionen und Konstanten
Einführung
Section titled “Einführung”Seit Version 12.2.24 stehen die hier beschriebenen Operatoren, Funktionen und Konstanten für Ausdrücke in WWS zur Verfügung.
Operatoren
Section titled “Operatoren”+: addiert Zahlen oder verknüpft Zeichenfolgen. Beispiel:[UnitPrice] + 4,[FirstName] + ' ' + [LastName]-: bildet die Differenz zweier Werte. Beispiel:[Price1] - [Price2]*: multipliziert Werte. Beispiel:[Quantity] * [UnitPrice] * (1 - [BonusAmount])/: dividiert Werte. Beispiel:[Quantity] / 2%: berechnet den Rest einer Division. Beispiel:[Quantity] % 3|: bitweises ODER. Beispiel:[Flag1] | [Flag2]&: bitweises UND. Beispiel:[Flag] & 10^: logisches oder bitweises XOR. Beispiel:[Flag1] ^ [Flag2]==: prüft auf Gleichheit. Beispiel:[Quantity] == 10!=: prüft auf Ungleichheit. Beispiel:[Country] != 'France'<,<=,>,>=: Vergleichsoperatoren. Beispiel:[UnitPrice] < 20,[UnitPrice] >= 30In (...): prüft, ob ein Wert in einer Menge enthalten ist. Beispiel:[Country] In ('USA', 'UK', 'Italy')Like: prüft Text gegen ein Muster. Beispiel:[Name] Like 'An%'Between (...): prüft einen Wertebereich. Beispiel:[Quantity] Between (10, 20)And,Or,Not: logische Operatoren. Beispiel:[InStock] And ([ExtendedPrice] > 100)
Funktionen
Section titled “Funktionen”Datums- und Zeitfunktionen
Section titled “Datums- und Zeitfunktionen”Diese Funktionen arbeiten mit DateTime-Werten und helfen beim Rechnen mit Tagen, Monaten, Uhrzeiten oder Zeitspannen.
AddDays(DateTime, DaysCount): addiert Tage. Beispiel:AddDays([OrderDate], 30)AddHours(DateTime, HoursCount): addiert Stunden. Beispiel:AddHours([StartTime], 2)AddMilliSeconds(DateTime, MilliSecondsCount): addiert Millisekunden. Beispiel:AddMilliSeconds([StartTime], 5000)AddMinutes(DateTime, MinutesCount): addiert Minuten. Beispiel:AddMinutes([StartTime], 30)AddMonths(DateTime, MonthsCount): addiert Monate. Beispiel:AddMonths([OrderDate], 1)AddSeconds(DateTime, SecondsCount): addiert Sekunden. Beispiel:AddSeconds([StartTime], 60)AddTicks(DateTime, TicksCount): addiert Ticks. Beispiel:AddTicks([StartTime], 5000)AddTimeSpan(DateTime, TimeSpan): addiert eine Zeitspanne. Beispiel:AddTimeSpan([StartTime], [Duration])AddYears(DateTime, YearsCount): addiert Jahre. Beispiel:AddYears([EndDate], -1)GetDate(...),GetDay(...),GetMonth(...),GetYear(...): extrahieren Datumsbestandteile. Beispiel:GetDay([OrderDate])GetHour(...),GetMinute(...),GetSecond(...): extrahieren Zeitbestandteile. Beispiel:GetHour([StartTime])Now(): aktuelles Datum und aktuelle Uhrzeit. Beispiel:AddDays(Now(), 5)Today(): aktuelles Datum um 00:00 Uhr. Beispiel:AddMonths(Today(), 1)UtcNow(): aktuelles UTC-Datum mit Uhrzeit. Beispiel:AddDays(UtcNow(), 7)
Logische Funktionen
Section titled “Logische Funktionen”Iif(Expression, TruePart, FalsePart): bedingte Auswahl zwischen zwei Werten. Beispiel:Iif([Quantity] >= 10, 10, 0)IsNull(Value): prüft aufNULL. Beispiel:IsNull([OrderDate])IsNull(Value1, Value2): liefert Ersatzwert, wennValue1leer ist. Beispiel:IsNull([ShipDate], [RequiredDate])IsNullOrEmpty(String): prüft aufNULLoder leeren Text. Beispiel:IsNullOrEmpty([ProductName])
Mathematische Funktionen
Section titled “Mathematische Funktionen”Abs,Round,Floor,Ceiling,Sign: Standardfunktionen für Rundung, Betrag und Vorzeichen. Beispiel:Round([Value])Power,Sqr,Exp,Log,Log10: Funktionen für Potenzen, Wurzeln und Logarithmen. Beispiel:Power([Value], 3)Sin,Cos,Tan,Asin,Acos,Atn,Atn2: trigonometrische Funktionen. Beispiel:Cos([Value])Sinh,Cosh,Tanh: hyperbolische Funktionen. Beispiel:Tanh([Value])Rnd(): Zufallszahl zwischen 0 und 1. Beispiel:Rnd() * 100BigMul(Value1, Value2): multipliziert zwei 32-Bit-Werte mit 64-Bit-Ergebnis. Beispiel:BigMul([Amount], [Quantity])
Zeichenkettenfunktionen
Section titled “Zeichenkettenfunktionen”Ascii(String): ASCII-Wert des ersten Zeichens. Beispiel:Ascii('a')Char(Number): Zeichen aus ASCII-Code. Beispiel:Char(65)CharIndex(...): Position eines Teilstrings. Beispiel:CharIndex('e', 'devexpress')Concat(...): fügt Texte zusammen. Beispiel:Concat('A', ')', [ProductName])Insert(...),Remove(...),Replace(...),Substring(...): verändern oder extrahieren Teilstrings. Beispiel:Insert([Name], 0, 'ABC-')Len(Value): Länge eines Textes. Beispiel:Len([Description])Lower(String),Upper(String),Trim(String): passen Schreibweise und Leerzeichen an. Beispiel:Upper([ProductName])PadLeft(...),PadRight(...): füllen Text auf eine feste Länge auf. Beispiel:PadRight([Name], 30)Reverse(String): kehrt eine Zeichenfolge um. Beispiel:Reverse([Name])ToStr(Value): wandelt einen Wert in Text um. Beispiel:ToStr([ID])
Erweiterte Funktionen
Section titled “Erweiterte Funktionen”| Funktion | Signatur | Beschreibung |
|---|---|---|
StringFormat | StringFormat(format, value) | Formatiert einen Wert über .NET String.Format. |
NewLineConstant | NewLineConstant() | Liefert einen Zeilenumbruch. Nützlich für mehrzeilige Ausgaben. |
GiroCode | GiroCode(BIC, IBAN, Empfänger, Verwendungszweck, Betrag) | Erstellt den Textinhalt für einen SEPA-GiroCode / QR-Code. |
GetCurrentUserID | GetCurrentUserID() | Liefert die ID des aktuell angemeldeten Benutzers. |
GetCurrentAddressID | GetCurrentAddressID() | Liefert die Adress-ID des aktuell angemeldeten Benutzers. |
GetAbsolutePath | GetAbsolutePath(path) | Wandelt einen relativen Pfad in einen absoluten Pfad um. |
GetRelativePath | GetRelativePath(path) | Wandelt einen absoluten bzw. systembezogenen Pfad in einen relativen Pfad um. |
GetDataPath | GetDataPath() | Liefert den globalen Daten-Stammpfad der WWS. |
Konstanten
Section titled “Konstanten”| Konstante | Bedeutung | Beispiel |
|---|---|---|
| Zeichenketten | Texte werden in Apostrophe gesetzt | [Country] == 'France' |
| Apostroph im Text | Apostrophe innerhalb eines Textes werden verdoppelt | [Name] == 'O''Neil' |
| Datumswerte | Datumswerte werden in # eingeschlossen | [OrderDate] >= #1/1/2009# |
True / False | boolesche Werte | [InStock] == True |
? | NULL-Referenz | [Region] != ? |