Q Programmiersprache

Kdb + wird mit seiner integrierten Programmiersprache geliefert, die als bekannt ist q. Es enthält eine Obermenge von Standard-SQL, die für die Zeitreihenanalyse erweitert wurde und viele Vorteile gegenüber der Standardversion bietet. Jeder, der mit SQL vertraut ist, kann lernenq in wenigen Tagen und in der Lage sein, schnell ihre eigenen Ad-hoc-Anfragen zu schreiben.

Starten der "q" -Umgebung

Um kdb + zu verwenden, müssen Sie das starten qSession. Es gibt drei Möglichkeiten, um a zu startenq Sitzung -

  • Geben Sie einfach "c: /q/w32/q.exe" in Ihr Laufterminal ein.

  • Starten Sie das MS-DOS-Befehlsterminal und geben Sie ein q.

  • Kopiere das q.exe Datei auf "C: \ Windows \ System32" und geben Sie auf dem Run-Terminal einfach "q" ein.

Hier gehen wir davon aus, dass Sie auf einer Windows-Plattform arbeiten.

Datentypen

Die folgende Tabelle enthält eine Liste der unterstützten Datentypen -

Name Beispiel Verkohlen Art Größe
Boolescher Wert 1b b 1 1
Byte 0xff x 4 1
kurz 23h h 5 2
int 23i ich 6 4
lange 23j j 7 8
echt 2.3e e 8 4
schweben 2.3f f 9 8
verkohlen "ein" c 10 1
varchar `ab s 11 * *
Monat 2003.03m m 13 4
Datum 2015.03.17T18: 01: 40.134 z 15 8
Minute 08:31 u 17 4
zweite 08:31:53 v 18 4
Zeit 18: 03: 18.521 t 19 4
Aufzählung `u $` b, wobei u: `a`b * * 20 4

Atom- und Listenbildung

Atome sind einzelne Entitäten, z. B. eine einzelne Zahl, ein Zeichen oder ein Symbol. In der obigen Tabelle (verschiedener Datentypen) sind alle unterstützten Datentypen Atome. Eine Liste ist eine Folge von Atomen oder anderen Typen, einschließlich Listen.

Wenn Sie ein Atom eines beliebigen Typs an die monadische Funktion (dh eine Funktion mit einem Argument) übergeben, wird ein negativer Wert zurückgegeben, d. H. –nWährend das Übergeben einer einfachen Liste dieser Atome an die Typfunktion einen positiven Wert zurückgibt n.

Beispiel 1 - Atom- und Listenbildung

/ Note that the comments begin with a slash “ / ” and cause the parser
/ to ignore everything up to the end of the line.

x: `mohan              / `mohan is a symbol, assigned to a variable x
type x                 / let’s check the type of x
-11h                   / -ve sign, because it’s single element.

y: (`abc;`bca;`cab)    / list of three symbols, y is the variable name.

type y
11h                    / +ve sign, as it contain list of atoms (symbol).

y1: (`abc`bca`cab)     / another way of writing y, please note NO semicolon

y2: (`$”symbols may have interior blanks”)   / string to symbol conversion
y[0]                   / return `abc
y 0                    / same as y[0], also returns `abc
y 0 2                  / returns `abc`cab, same as does y[0 2]

z: (`abc; 10 20 30; (`a`b); 9.9 8.8 7.7)      / List of different types,
z 2 0                  / returns (`a`b; `abc),
z[2;0]                 / return `a. first element of z[2]

x: “Hello World!”      / list of character, a string
x 4 0                  / returns “oH” i.e. 4th and 0th(first)
element