Datentypen, Attribute und Methoden
vSQL unterstützt eine Teilmenge der Datentypen, die von UL4 unterstützt werden. Diese und die damit in Verbindung stehenden Methoden werden im folgenden erklärt.
None
(NONE
)
None
ist die Null-Konstante in vSQL (und UL4).
Boolsche Werte (BOOL
)
True
oder False
Ganze Zahlen (INT
)
Beispielsweise 123
Zahlen mit Nachkommastellen (NUMBER
)
Beispielsweise 123.45
Strings (STR
)
String-Konstanten werden in vSQL (wie in UL4) folgendermaßen geschrieben:
"foo"
oder 'foo'
.
Methoden
Strings besitzen in vSQL folgende Methoden:
str.lower()
Konvertiert den String-Wert str
in Kleinbuchstaben.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
str.upper()
Konvertiert den String-Wert str
in Großbuchstaben.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
str.startswith(präfix)
Testet, ob der String-Wert str
mit dem übergebenen Präfix präfix
beginnt. präfix
kann auch eine Liste von Strings sein, dann gibt
x.startswith(y)
True
zurück, wenn x
mit einem der Strings in
y
beginnt.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
|
|
|
|
|
|
|
|
str.endswith(suffix)
Testet, ob der String-Wert str
mit dem übergebenen Suffix suffix
endet. suffix
kann auch eine Liste von Strings sein, dann gibt
x.endswith(y)
True
zurück, wenn x
mit einem der Strings in
y
endet.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
|
|
|
|
|
|
|
|
str.strip()
oder str.strip(None)
Entfernt Leerzeichen und anderen Whitespace von beiden Enden des
String-Wertes str
.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
|
|
|
|
|
|
|
|
str.strip(zeichen)
Entfernt alle Zeichen die in dem String-Wert zeichen
vorkommen von
beiden Enden des String-Wertes str
.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
|
|
str.lstrip()
, str.lstrip(None)
oder str.lstrip(zeichen)
Ähnlich wie strip()
, jedoch werden nur Zeichen am Anfang des Strings
entfernt.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
str.rstrip()
, str.rstrip(None)
oder str.rstrip(zeichen)
Ähnlich wie strip()
, jedoch werden nur Zeichen am Ende des Strings
entfernt.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
str.find(suchstring)
Gibt den Offset zurück an dem suchstring
das erste Mal in str
auftaucht. Wird suchstring
nicht gefunden, wird -1
zurückgegeben.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
|
|
|
|
str.find(suchstring, start, stop)
Ähnlich wie der Aufruf mit einem Argument, jedoch wird die Suche auf den
Unterstring str[start:stop]
beschränkt.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
str.rfind(suchstring)
oder str.rfind(suchstring, start, stop)
Ähnlich wie find()
, die Suche beginnt jedoch am Ende des Strings.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
|
|
|
|
|
|
str.split(sep)
Trennt den String str
an den Stellen, an denen sep
vorkommt und
liefert die resultierende Liste von Strings zurück.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
|
|
str.split(sep, maxsplit)
Ähnlich str.split(sep)
jedoch wird str
höchstens maxsplit
mal
getrennt.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
|
|
str.join(liste)
Verbindet alle Strings in liste
mit dem Trennstring str
zu einen
einzigen String.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
Datum (DATE
) und Datum/Uhrzeit (DATETIME
)
@(2000-02-29)
Datums-Konstante
@(2000-02-29T12:34:56)
Datums/Zeit-Konstante
Außerdem können DATE
-Werte mit der Funktion date
und
DATETIME
-Werte mit der Funktion datetime
erzeugt werden.
Attribute
DATE
- und DATETIME
-Werte besitzen folgender Attribute:
date.year
Das Jahr des Datumswertes date
.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
date.month
Das Monat des Datumswertes date
.
Beispiele:
Ausdruck |
Wert |
Bemerkung |
---|---|---|
|
|
Februar |
date.day
Der Tag des Datumswertes date
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
date.weekday
Der Wochentag des Datumswertes date
. 0
ist Montag, 1
ist
Dienstag, …, 6
ist Sonntag.
Beispiele:
Ausdruck |
Wert |
Bemerkung |
---|---|---|
|
|
Dienstag |
date.yearday
Die Anzahl der Tage seit Beginn das Jahres.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
|
|
|
|
|
|
Zusätzlich besitzen DATETIME
-Werte noch die Attribute:
datetime.hour
Die Stundenangabe des Datumswertes datetime
.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
datetime.minute
Die Minutenangabe des Datumswertes datetime
.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
datetime.second
Die Sekundenangabe des Datumswertes datetime
.
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
Zeiträume (DATEDELTA
und DATETIMEDELTA
)
DATEDELTA
-Werte stellen die Differenz zwischen zwei DATE
-Werten dar.
DATEDELTA
-Werte können mit den Funktionen
timedelta und
days erzeugt werden.
DATETIMEDELTA
-Werte stellen die Differenz zwischen zwei DATETIME
-Werten
dar und können mit den Funktionen timedelta,
hours, minutes
und seconds erzeugt werden.
Monatszeiträume (MONTHDELTA
)
MONTHDELTA
-Werte können mit den Funktionen
monthdelta,
years und months
erzeugt werden.
Farben (COLOR
)
Farb-Werte (mit oder ohne Alpha-Wert) werden in vSQL (und UL4) ähnlich
geschrieben wie in CSS: #rgba
, #rrggbb
, #rgba
oder #rrggbbaa
(wobei r
, g
, b
und a
jeweils Hexadezimal-Ziffern sind).
Beispiele:
Wert |
Bemerkung |
---|---|
|
Schwarz |
|
Weiß |
|
Rot |
|
Grün |
|
Blau |
|
Mittelgrau |
|
Halbtransparentes Grün |
Mehr zum RGB-Farbmodel in der Wikipedia: https://de.wikipedia.org/wiki/RGB-Farbraum.
Attribute
Farben haben folgende Attribute:
color.r
Rot-Anteil der Farbe color
(Zahl zwischen 0 und 255);
color.g
Grün-Anteil der Farbe color
(Zahl zwischen 0 und 255);
color.b
Blau-Anteil der Farbe color
(Zahl zwischen 0 und 255);
color.a
Transparenz der Farbe color
(0 = komplett transparent, 255 = komplett
undurchsichtig).
Methoden
Farben haben folgende Methode:
color.lum()
Gibt die Helligkeit der Farbe color
zurück. Das Ergebnis liegt zwischen 0
(dunkel) und 1 (hell).
Beispiele:
Ausdruck |
Wert |
---|---|
|
|
|
|
|
|
Funktionen
Desweiteren gibt es folgende Funktion um eine Farben zu erzeugen:
rgb(r, g, b, a)
Dabei ist r
der Rot-Anteil, g
der Grün-Anteil, b
der Blau-Anteil
und a
die Transparenz.
Diese Werte müssen jeweils zwischen 0 und 1 liegen. Der Defaultwert für a ist 1.
Beispiele:
Ausdruck |
Wert |
Bemerkung |
---|---|---|
|
|
Schwarz |
|
|
Weiß |
|
|
Rot |
|
|
Mittelgrau |
|
|
Halbtransparentes Grün |
Für Farben gibt es zusätzlich den Farbmisch-Operator %
. Dabei ist a % b
die Farbe, die sich ergibt wenn die Farbe a
auf einem Hintergrund der Farbe
b
aufgetragen würde.
Beispiele:
Ausdruck |
Wert |
Bemerkung |
---|---|---|
|
|
intransparerentes Weiß auf Schwarz also Weiß |
|
|
halbtransparentes Weiß auf Schwarz also Grau |
|
|
halbtransparentes Rot auf Grün also Gelb |
Geo-Koordinaten (GEO
)
Geo-Koordinaten können in vSQL mit der Funktion geo()
erzeugt werden.
Es gibt eine Version mit zwei Argumenten (Breiten- und Längengrad) sowie
drei Argumenten (Breitengrad, Längengrad und Beschreibung).
Beispiele:
Ausdruck |
Beschreibung |
---|---|
|
Breiten- und Längengrad |
|
Breitengrad, Längengrad und Info |
Attribute
Geo-Koordinaten haben folgende Attribute:
geo.lat
Der Breitengrad.
Beispiel:
Ausdruck |
Wert |
---|---|
|
|
geo.long
Der Längengrad.
Beispiel:
Ausdruck |
Wert |
---|---|
|
|
geo.info
Die Beschreibung des Ortes.
Beispiel:
Ausdruck |
Wert |
---|---|
|
|
Funktionen
Desweiteren gibt es eine Funktion zur Verarbeitung von Geo-Koordinaten.
dist(geo1, geo2)
Berechnet die Entfernung der Geo-Koordinaten geo1
und geo2
in Kilomettern.
Beispiel:
Ausdruck |
Wert |
---|---|
|
210,5 |
Listen
vSQL unterstützt Listen, wenn die Einträge einen der folgende Typen haben:
INT
, NUMBER
, STR
, DATE
oder DATETIME
. Außerdem müssen alle
Einträge denselben Typ haben. Solange nicht alle Werte None
sind, sind auch
None
-Einträge in der Liste erlaubt.
Beispiele
Ausdruck |
Bemerkung |
---|---|
|
|
|
|
|
|
|
|
|
|