Datentypen und Operatoren
Finde gängige Ninox Datentypen, Operatoren und Hilfsfunktionen für Konvertierungen schnell.
Datentypen definieren, was ein Skriptwert ist. Operatoren definieren, was du mit diesem Wert machst.
Verwechsle Felder nicht mit Datentypen. Ein Feld fügst du im Builder-Modus hinzu, zum Beispiel Text, Zahl oder Datum und Uhrzeit. Ein Datentyp ist der Wert, den dein Skript liest oder zurückgibt, zum Beispiel Text, Number, Date, Datetime, Record oder Array.
Für ausführlichere Erklärungen und Beispiele öffne Operatoren und Zentrale Elemente des Skriptings kennenlernen.
Springe zu: Datentypen · Operatoren · Konvertierungen · Häufige Stolperfallen
Datentypen
Datentypen beschreiben, was ein Ausdruck zurückgibt oder eine Variable speichert. Wenn du den Typ kennst, wählst du den passenden Operator und die richtige Konvertierung.
Ordne gängige Feldtypen Skriptwerten zu
Diese Zuordnungen helfen dir, Builder-Begriffe und Begriffe aus dem Skripting zu trennen:
Text- und Mehrzeiliger Text-Felder geben Text zurück.
Zahl-Felder geben Number zurück.
Ja/nein-Felder geben Yes/No zurück.
Datum-Felder geben Date zurück.
Datum und Uhrzeit-Felder geben Datetime zurück.
Uhrzeit-Felder geben Time zurück.
Termin-Felder geben Appointment zurück.
Verknüpfungsfelder geben Record-Referenzen oder Listen von Datensätzen zurück.
File-, Location- und User-Felder geben spezialisierte Werte derselben Art zurück.
Ansichten, Diagramme, Steuerelemente, Layouts und dynamische Elemente sind Builder-Komponenten, keine Datentypen im Skripting.
Starte mit den Grundtypen
Die meisten Skripte nutzen zuerst diese Typen:
Text speichert Bezeichnungen, Nachrichten und andere Wörter, zum Beispiel
"Hello"oder---Hello {'First name'}!---.Number speichert Werte, mit denen du rechnest, zum Beispiel
125oder19.95.Yes/No speichert
trueoderfalse. Vergleichsoperatoren geben diesen Typ zurück.
Nutze Datums- und Zeittypen für zeitbasierte Logik
Nutze je nach Anwendungsfall unterschiedliche zeitbezogene Typen:
Date speichert ein Kalenderdatum ohne Uhrzeit, zum Beispiel
today()oderdate(2026, 3, 23).Time speichert eine Uhrzeit, zum Beispiel
time(14, 30).Datetime speichert lokales Datum und Uhrzeit zusammen, zum Beispiel
datetime(2026, 3, 23, 14, 30).Timestamp speichert einen zeitbasierten Wert als Zeitstempel, zum Beispiel
timestamp(now()).Appointment speichert Start und Ende zusammen, zum Beispiel
appointment(now(), timeinterval(1, "hours")).Duration speichert eine Zeitspanne, zum Beispiel
duration(End, Start).
Nutze strukturierte Typen für Datensätze und Daten
Diese Typen helfen dir, wenn du über einfache Werte hinausgehst:
Record speichert eine Referenz auf einen Datensatz, zum Beispiel
first(select Customers). Nutze.für den Zugriff auf seine Felder.Array speichert eine Liste von Werten, zum Beispiel
[1, 2, 3]oderselect Invoices.JSON speichert strukturierte Schlüssel-Wert-Daten, zum Beispiel
parseJSON("{\"status\":\"Open\"}").File speichert eine Dateireferenz, zum Beispiel
file(Attachment).Location speichert einen Ort mit Koordinaten, zum Beispiel
location("Office", 52.52, 13.405).User speichert einen Nutzer im Arbeitsbereich, zum Beispiel
user().
Operatoren
Operatoren helfen dir beim Zuweisen, Rechnen, Vergleichen und Zugreifen auf Werte. Wähle sie nach der Aufgabe aus.
Werte zuweisen und lesen
Nutze diese Operatoren, um Werte zu speichern und Daten zu lesen:
:=weist einer Variable oder einem Feld einen Wert zu, zum Beispiellet total := Price * Quantity..greift auf ein Feld in einem Datensatz oder einen Wert in einem Objekt zu, zum Beispielcustomer.Name.;beendet eine Anweisung, zum Beispiellet total := 100;.
Mit arithmetischen Operatoren rechnen
Nutze arithmetische Operatoren für Summen, Mengen, Prozente und ähnliche Berechnungen:
+addiert Zahlen und verbindet auch Text, zum Beispiel1 + 2oder"Hello " + 'First name'.-subtrahiert eine Zahl von einer anderen, zum BeispielNet - Discount.*multipliziert numerische Werte, zum BeispielPrice * Quantity./dividiert eine Zahl durch eine andere, zum BeispielTotal / 4.%gibt den Rest nach einer Division zurück, zum Beispiel13 % 5.()ändert die Reihenfolge der Berechnung, zum Beispiel(1 + 2) * 3.
Werte in Bedingungen vergleichen
Nutze Vergleichsoperatoren, wenn dein Skript entscheiden soll, was als Nächstes passiert:
=prüft, ob zwei Werte gleich sind, zum BeispielStatus = "Open".!=prüft, ob zwei Werte unterschiedlich sind, zum BeispielStatus != "Closed".>und>=prüfen, ob der linke Wert größer ist.<und<=prüfen, ob der linke Wert kleiner ist.likeprüft, ob ein Text in einem anderen Text vorkommt, zum Beispiel"Hello" like "ell".
Bedingungen kombinieren
Nutze logische Operatoren, wenn eine einzelne Prüfung nicht ausreicht:
anderfordert, dass beide Bedingungen wahr sind, zum BeispielStatus = "Open" and Total > 100.orerfordert, dass mindestens eine Bedingung wahr ist, zum BeispielStatus = "Open" or Status = "Pending".
Text und Feldnamen korrekt schreiben
Nutze die richtige Syntax für Text und Namen:
""kennzeichnet einen Textwert, zum Beispiel"Open".---kennzeichnet einen längeren Textwert, zum Beispiel---Hello {'First name'}!---.''umschließt Feld- oder Tabellennamen mit Leerzeichen oder Sonderzeichen, zum Beispiel'First name'.
Konvertierungen
Nutze Konvertierungen, wenn ein Wert den richtigen Inhalt, aber den falschen Typ hat.
Diese Funktionen nutzt du am häufigsten:
text(any)konvertiert einen Wert in lesbaren Text. Nutze das für Nachrichten wie"Order " + text(Number).number(any)konvertiert einen Wert in eine Zahl. Das hilft, wenn importierte Werte als Text ankommen.date(any)konvertiert einen Wert in ein Datum und entfernt bei Bedarf den Zeitanteil.datetime(...)erstellt oder konvertiert einen lokalen Datums- und Uhrzeitwert.timestamp(any)konvertiert einen zeitbasierten Wert in einen Zeitstempel.parseJSON(string)konvertiert JSON-Text in ein JSON-Objekt.formatJSON(JSON)konvertiert ein JSON-Objekt in JSON-Text.
Häufige Stolperfallen
Diese Fehler kommen besonders oft vor:
Nutze
:=für Zuweisungen. Nutze=für Vergleiche. Beides wird leicht verwechselt.Nutze einfache Anführungszeichen für Feld- oder Tabellennamen wie
'First name'. Nutze doppelte Anführungszeichen für Text wie"Hello".+kann Zahlen addieren oder Text verbinden. Wenn ein Teil noch kein Text ist, konvertiere ihn zuerst mittext(), zum Beispiel"Order " + text(Number).likeprüft, ob ein Text in einem anderen Text vorkommt. Nutze=, wenn Werte exakt übereinstimmen müssen.Der Punktoperator braucht links einen Datensatz oder ein Objekt, zum Beispiel
let customer := first(select Customers); customer.Name. Wenn links kein Datensatz steht, kann Ninox das Feld nicht lesen.
Zuletzt aktualisiert
War das hilfreich?