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 125 oder 19.95.

  • Yes/No speichert true oder false. 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() oder date(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] oder select 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 Beispiel let total := Price * Quantity.

  • . greift auf ein Feld in einem Datensatz oder einen Wert in einem Objekt zu, zum Beispiel customer.Name.

  • ; beendet eine Anweisung, zum Beispiel let total := 100;.

Mit arithmetischen Operatoren rechnen

Nutze arithmetische Operatoren für Summen, Mengen, Prozente und ähnliche Berechnungen:

  • + addiert Zahlen und verbindet auch Text, zum Beispiel 1 + 2 oder "Hello " + 'First name'.

  • - subtrahiert eine Zahl von einer anderen, zum Beispiel Net - Discount.

  • * multipliziert numerische Werte, zum Beispiel Price * Quantity.

  • / dividiert eine Zahl durch eine andere, zum Beispiel Total / 4.

  • % gibt den Rest nach einer Division zurück, zum Beispiel 13 % 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 Beispiel Status = "Open".

  • != prüft, ob zwei Werte unterschiedlich sind, zum Beispiel Status != "Closed".

  • > und >= prüfen, ob der linke Wert größer ist.

  • < und <= prüfen, ob der linke Wert kleiner ist.

  • like prü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:

  • and erfordert, dass beide Bedingungen wahr sind, zum Beispiel Status = "Open" and Total > 100.

  • or erfordert, dass mindestens eine Bedingung wahr ist, zum Beispiel Status = "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 mit text(), zum Beispiel "Order " + text(Number).

  • like prü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?