Functions in Listen

 

Link zum Eintrag: functions.htm

<< Zum Inhaltsverzeichnis anklicken >>

  FT-Viewer Listengenerator >

Functions in Listen

 

Link zum Eintrag: functions.htm

Diese Functions können zusätzlich zu den Aggregat-Funktionen  SUM(), MIN(), MAX(), AVG(), COUNT(*) in

SQL-Queries verwendet werden:

 

Arithmetische Funktionen

 

function RoundDec(X: Extended, Precision: Integer).

Die RoundDec-Funktion rundet einen Wert vom Typ Float auf eine bestimmte Genauigkeit (Dezimalstellen) ab.

 

function TruncDec(X: Extended, Precision: Integer)

Die Funktion TruncDec schneidet einen Wert vom Typ Float auf eine bestimmte Genauigkeit (Dezimalstellen) ab.

 

function Trunc(X: Extended):Integer

Die Funktion Trunc schneidet einen Wert vom Typ Float auf einen Wert vom Typ Integer ab. X ist ein Ausdruck

vom Float-Typ.

Trunc gibt einen ganzzahligen Wert zurück, der der Wert von X ist, der gegen Null gerundet ist.

 

function Round(X: Extended): Integer

Die Funktion Round rundet einen Wert vom Typ Float auf einen Wert vom Typ Integer. X ist ein Ausdruck vom Fließkomma-Typ.

Round gibt einen Longint zurück.

Wert, d.h. der Wert von X, gerundet auf die nächste ganze Zahl. Wenn X genau auf halber Strecke zwischen zwei ganzen Zahlen liegt,

das Ergebnis ist die Zahl mit der größten absoluten Größenordnung.

 

function Abs(X): Float

Die Funktion Abs gibt den absoluten Wert des Arguments zurück. X ist ein ganzzahliger Ausdruck oder ein Ausdruck vom Fließkomma-Typ.

 

function ArcTan(X: Float): Float

ArcTan berechnet den Arkustangens der gegebenen Zahl. Berechnen Sie weitere trigonometrische Funktionen mit Sin, Cos und ArcTan

in den folgenden Ausdrücken

Tan(x) = Sin(x) / Cos(x)

ArcSin(x) = ArcTan (x/sqrt (1-sqr (x)))

ArcCos(x) = ArcTan (sqrt (1-sqr (x)) /x)

 

function Cos(X: Float): Float

Die Cos-Funktion gibt den Kosinus des Winkels X in Bogenmaß zurück.

 

function Exp(X: Float): Float

Exp gibt den Wert von e hoch X zurück, wobei e die Basis der natürlichen Logarithmen ist.

 

function Frac(X: Float): Float

Die Funktion Frac gibt den gebrochenen Teil des Arguments X zurück. X ist ein Ausdruck vom Fließkomma-Typ.

Das Ergebnis ist der gebrochene Teil von X, das heißt: Frac(X) = X - Int(X).

 

function Int(X: Float): Float

X ist ein Ausdruck vom Fließkomma-Typ. Das Ergebnis ist der ganzzahlige Teil von X, d.h. X wird gegen Null gerundet.

 

function Ln(X: Float): Float

Die Ln-Funktion liefert den natürlichen Logarithmus (Ln(e) = 1) des Gleitkomma-Ausdrucks X.

 

function Pi: Float

Verwenden Sie Pi in mathematischen Berechnungen, die pi, das Verhältnis des Umfangs eines Kreises zu seinem

Durchmesser, erfordern.

Pi wird näherungsweise als 3,1415926535897932385 angegeben.

 

function Sin(X: Float): Float

Die Sin-Funktion gibt den Sinus des Arguments zurück. X ist ein Ausdruck vom Fließkomma-Typ.

Sin gibt den Sinus des Winkels X im Bogenmaß zurück.

 

function Sqr(X: Float): Float

Die Funktion Sqr gibt das Quadrat des Arguments zurück. X ist ein Fließkommaausdruck.

Das Ergebnis, vom gleichen Typ wie X, ist das Quadrat von X, oder X*X.

 

function Sqrt(X: Float): Float

X ist ein Fließkomma-Ausdruck. Das Ergebnis ist die Quadratwurzel von X.

 

function Power(Base, Exponent: Float): Float

Die Power-Funktion hebt die Basis auf eine beliebige Leistung an. Für gebrochene Exponenten oder Exponenten,

die größer als MaxInt sind, muss Base größer als 0 sein.

 

function MINOF(arg1, arg2, ... argn)

Die Funktion MINOF liefert den niedrigsten Wert der n Zahlen. arg1, arg2, ..., argn sind gültige Ausdrücke.

Es muss mindestens 2 Argumente für diese Funktion geben, sonst wird ein Fehler ausgegeben.

SELECT MINOF(Verbrauch1, Verbrauch2, Verbrauch3) SELECT MINOF(Verbrauch1, Verbrauch2, Verbrauch3)

FROM WaterUsers;

 

function MAXOF(arg1, arg2, ..., argn)

Die Funktion MAXOF liefert den höchsten Wert der n Ziffern. arg1, arg2, ..., argn sind gültige Ausdrücke.  

Es muss mindestens 2 Argumente für diese Funktion geben, sonst wird ein Fehler ausgegeben.

SELECT MAXOF(Verbrauch1, Verbrauch2, Verbrauch3, Verbrauch4) FROM WaterUsers;

 

 

 

Datum Funktionen

 

function Now

Die Funktion Now gibt das aktuelle Systemdatum im Fließkommaformat zurück, so dass Sie vielleicht die

Funktion FormatdateTime() verwenden müssen, um in ein lesbares Datumsformat zu konvertieren.

Now muss ohne "()" verwendet werden.

 

function YEAR(date)

Gibt das Jahr für das angegebene Datum zurück

SELECT YEAR(LastInvoiceDate) FROM Customer;

 

function MONTH(date)

Gibt den Monat für das angegebene Datum zurück

SELECT MONTH(LastInvoiceDate) FROM Customer;

 

function DAY(date)

Gibt den Tag für das angegebene Datum zurück

SELECT DAY(LastInvoiceDate) FROM Customer;

 

function HOUR(date)

Gibt die Stunde der Uhrzeit zurück

SELECT HOUR(LastInvoiceDate) FROM Customer;

 

function MIN(datetime)

Gibt die Minute der Uhrzeit zurück

SELECT MIN(LastInvoiceDate) FROM Customer;

 

function SEC(datetime)

Gibt die Sekunde der Uhrzeit zurück

SELECT SEC(LastInvoiceDate) FROM Customer;

 

function MSEC(datetime)

Gibt die Millisekunden der Uhrzeit zurück

SELECT MSEC(LastInvoiceDate) FROM Customer;

 

String Funktionen

 

function Upper(S: string): string

Die Funktion Upper gibt eine Zeichenkette zurück, die den gleichen Text wie S enthält, wobei jedoch alle

7-Bit-ASCII-Zeichen zwischen 'a' und 'z' in Großbuchstaben umgewandelt werden.

 

function Lower(S: string): string

Lower gibt eine Zeichenfolge mit dem gleichen Text wie die in S übergebene Zeichenfolge zurück, wobei jedoch

alle Buchstaben in Kleinbuchstaben umgewandelt wurden.

Die Konvertierung betrifft nur 7-Bit-ASCII-Zeichen zwischen 'A' und 'Z'.

 

function Copy(S: string; Index, Count: Integer): string

Die Funktion Copy gibt eine Teilzeichenfolge einer Zeichenkette zurück. S ist ein Ausdruck vom Typ Zeichenkette.

Index und Count sind ganzzahlige Ausdrücke. Die Funktion Copy gibt eine Zeichenfolge zurück, die Count-Zeichen enthält,

die mit S[Index] beginnen. Wenn Index größer als die Länge von S ist, gibt Copy eine leere Zeichenfolge zurück.

Wenn Count mehr Zeichen angibt, als verfügbar sind, werden nur die Zeichen von S[Index] bis zum

Ende von S zurückgegeben.

 

function Pos(Substr: string; S: string): Integer

Pos sucht nach einer Teilzeichenfolge, Substr, in einer Zeichenfolge, S. Substr und S sind Ausdrücke vom Typ Zeichenfolge.

Pos sucht nach Substr innerhalb von S und gibt einen ganzzahligen Wert zurück, der der Index des ersten Zeichens

von Substr innerhalb von S ist. Pos ignoriert Übereinstimmungen ohne Berücksichtigung der Groß-/Kleinschreibung.

Wenn Substr nicht gefunden wird, gibt Pos null zurück.

 

function Length(S: string): Integer

Die Funktion Length gibt die Anzahl der tatsächlich in der Zeichenfolge S verwendeten Zeichen zurück.

 

function LeftS(S: String; Count: Integer): string

Die Funktion LeftS gibt die ganz links stehenden Count-Zeichen zurück, die in der Zeichenfolge S enthalten sind.

S ist ein Ausdruck vom Typ String. Count ist ein ganzzahliger Ausdruck. Wenn Count größer als S ist, wird S zurückgegeben.

Hinweis: Bitte überprüfen Sie, ob der Funktionsname LeftS ist, und Sie können Left alleine nicht verwenden, da es sich

um ein reserviertes Wort handelt (wahrscheinlich in einem LEFT OUTER JOIN verwendet).

 

function RightS(S: String; Count: Integer): string

Die Funktion RightS gibt die ganz rechten Count-Zeichen zurück, die in der Zeichenfolge S enthalten sind.

S ist ein Ausdruck vom Typ String. Count ist ein ganzzahliger Ausdruck. Wenn Count größer als S ist, wird S zurückgegeben.

Hinweis: Bitte überprüfen Sie, ob der Funktionsname RightS lautet, und Sie können Right nicht allein verwenden,

da es sich um ein reserviertes Wort handelt (wahrscheinlich in einer RIGHT OUTER JOIN verwendet).

 

function Format(Format: string; Arg1, Arg2, Arg3, ...): string;

Diese Funktion formatiert die Reihe von Argumenten in der Liste der Argumente Arg1, Arg2, Arg3, ....

Die Formatierung wird durch die Object Pascal Formatierungszeichenkette Format gesteuert; die Ergebnisse

werden im Funktionsergebnis als Zeichenkette zurückgegeben.

Jedes Argument in der Liste kann ein Ausdruck sein. Arbeiten Sie auf die gleiche Weise wie in Object Pascal.

 

function FormatDateTime(Format: String; DateTime: float): String

FormatDateTime formatiert den durch DateTime angegebenen Datums- und Zeitwert mit dem durch Format

angegebenen Format.

Sie können die Liste der Formatangaben im Delphi-Hilfesystem einsehen.

 

function FormatFloat(Format: String; Value: Float): String

FormatFloat formatiert den durch Value angegebenen Fließkommawert unter Verwendung der durch Format

angegebenen Formatzeichenfolge. Sie können die Liste der Formatangaben im Delphi-Hilfesystem einsehen.

 

TRIM function

Die TRIM-Funktion hat die SQL-Syntax TRIM(LEADING|TRAILING|BOTH trimmed_char FROM column_reference).

Verwenden Sie TRIM, um das führende oder das abschließende Zeichen oder beide aus einer Tabellenspalte zu löschen.

Die Funktion TRIM löscht nur Zeichen, die sich an der angegebenen Position befinden.

Der erste Parameter gibt die Position des zu löschenden Zeichens an und hat einen der folgenden Werte:

VALUE  Beschreibung

LEADING Löscht das Zeichen am linken Ende der Zeichenfolge.

TRAILING Löscht das Zeichen am rechten Ende der Zeichenkette.

BOTH Löscht das Zeichen an beiden Enden der Zeichenkette.

 

Der Parameter trimmed_char gibt das zu löschende Zeichen an, falls vorhanden. Bei diesem Parameter wird zwischen

Groß- und Kleinschreibung unterschieden. Um TRIM unabhängig von der Groß-/Kleinschreibung zu machen,

verwenden Sie die Funktion UPPER.

FROM gibt die Spalte an, aus der das Zeichen gelöscht werden soll.

 

SUBSTRING function

Die SUBSTRING-Funktion hat die Syntax:

SUBSTRING(column_reference FROM start_index [FOR length])

 

Verwenden Sie SUBSTRING, um eine Teilzeichenfolge aus einer Tabellenspalte oder einem Zeichenliteral

zu extrahieren, das im Spaltenverweis angegeben ist.

 

FROM ist die Zeichenposition, an der die extrahierte Teilzeichenkette innerhalb der ursprünglichen Zeichenkette beginnt.

Der Index für FROM basiert darauf, dass das erste Zeichen im Quellwert 1 ist.

 

FOR ist optional und gibt die Länge der extrahierten Teilzeichenkette an. Wenn FOR weggelassen wird, geht die

Teilzeichenkette von der durch FROM angegebenen Position bis zum Ende der Zeichenkette.

 

Das folgende Beispiel, angewandt auf die Zeichenfolge "ABCDE", gibt den Wert "BCD" zurück.

SELECT SUBSTRING("ABCDE" FROM 2 FOR 3) AS Sub FROM country

 

In der folgenden SELECT-Anweisung werden nur das zweite und die nachfolgenden Zeichen der Spalte NAME abgerufen.

SELECT SUBSTRING(name FROM 2) FROM country

 

 

EXTRACT function

Ein Feld aus einem Datumswert zurückgeben

EXTRACT (extract_field FROM column_reference)

 

Verwenden Sie EXTRACT, um das Jahr-, Monats- oder Tagesfeld aus einer DATE- oder TIMESTAMP-Spalte

zurückzugeben.

 

SELECT saledate,

EXTRACT(YEAR FROM saledate) AS YY,

EXTRACT(MONTH FROM saledate) AS MM,

EXTRACT(DAY FROM saledate) AS DD

FROM orders

 

Die nachstehende Aussage verwendet eine DOB(DateOfBirth)-Spalte (mit Geburtsdaten), um nach den Zeilen

zu filtern, in denen das Datum im Monat Mai liegt. Das Monatsfeld aus der DOB-Spalte wird mit der

Funktion EXTRACT abgerufen und mit dem Monat 5 verglichen, wobei Mai der fünfte Monat ist.

 

SELECT DOB, LastName, FirstName

FROM People

WHERE (EXTRACT(MONTH FROM DOB) = 5)

 

Bedingter Ausdruck

 

function IF(Condition: Boolean, TrueResult, FalseResult): ResultType

Bedingung ist ein Boolescher Ausdruck. Wenn die Funktion ausgewertet wird, gibt sie TrueResult zurück,

wenn Condition als wahr ausgewertet wird, andernfalls FalseResult. TrueResult und FalseResult müssen

nicht vom gleichen Typ sein, und der Ergebnistyp des IF-Ausdrucks kann sich je nach Bedingung ändern.

 

Beispiel:

 

SELECT category, suppcode, prodcode, barcode, proddesc, retprice,

costprice, IF(retprice <> 0, (1-costprice*1.125/retprice)*100, 0) as margin FROM hds1

WHERE IF(retprice <> 0,  (1-costprice*1.125/retprice), 0) > 0.8) or (

IF(retprice <> 0, (1-costprice*1.125/retprice), 1) < 0.4);