Allgemeine Funktionen A-C D-G H-L M-Q R-Z Trigonometrische Funktionen
SQL-99 - Skalierung abs ( numerischer_Ausdruck ) Gibt den absoluten Wert von 'numerischer_Ausdruck' zurück. Negative Werte werden als positive Werte geliefert. Beispiel: abs ( 15 ) Ergebnis: 15 Beispiel: abs ( -15 ) Ergebnis: 15 bit_length bit_length ( Zeichenfolge_Ausdruck ) Gibt die Anzahl der Bits in 'Zeichenfolge_Ausdruck' zurück. cast ( Ausdruck ; Datentyp_Spezifikation ) Konvertiert 'Ausdruck' in einen angegebenen Datentyp. Einige Datentypen ermöglichen das Angeben von Länge und Genauigkeit. Stellen Sie sicher, dass Typ und Größe des Ziels angemessen sind. Für 'Datentyp_Spezifikation' können folgende Datentypen verwendet werden: 'character', 'varchar', 'char', 'numeric', 'decimal', 'integer', 'bigint', 'smallint', 'real', 'float', 'date', 'time', 'timestamp', 'time with time zone', 'timestamp with time zone' und 'interval'. Bei der Typenumwandlung in den Typ 'interval' muss eine der folgenden Intervallqualifizierungen angegeben werden: 'year', 'month' oder 'year to month' für den Jahr-bis-Monat-Intervall-Datentyp; 'day', 'hour', 'minute', 'second', 'day to hour', 'day to minute', 'day to second', 'hour to minute', 'hour to second' oder 'minute to second' für den Tag-bis-Sekunde-Intervall-Datentyp. Kommentar: Wenn Sie einen Wert des Typs 'timestamp' in den Typ 'date' konvertieren, wird der Uhrzeitteil des Zeitmarkenwerts ignoriert. Wenn Sie einen Wert vom Typ 'timestamp' in den Typ 'time' konvertieren, wird der Datumsteil des Zeitmarkenwerts ignoriert. Wenn Sie einen Wert vom Typ 'date' in den Typ 'timestamp' konvertieren, wird die Uhrzeitkomponente des Zeitmarkenwerts auf null gesetzt. Wenn Sie einen Wert vom Typ 'time' in den Typ 'timestamp' konvertieren, wird die Datumskomponente des Zeitmarkenwerts auf das aktuelle Systemdatum gesetzt. Das Konvertieren eines Intervall-Datentyps in den anderen ist unzulässig (z. B. weil die Anzahl der Tage in einem Monat variabel ist). Beachten Sie, dass Sie die Anzahl der Stellen nur für das führende Qualifikationsmerkmal angeben können, zum Beispiel YEAR(4) TO MONTH, DAY(5). Sollten Typ und Größe des Ziels nicht mit Typ und Größe der Quelle kompatibel sein, werden Fehler gemeldet. Beispiel: cast ( '123' >; integer ) Ergebnis: 123 Beispiel: cast ( 12345 ; varchar ( 10 ) ) Ergebnis: eine Zeichenfolge, die 12345 enthält char_length ( Zeichenfolge_Ausdruck ) Gibt die Anzahl der logischen Zeichen in 'Zeichenfolge_Ausdruck' zurück. Die Anzahl der logischen Zeichen kann sich bei einigen ostasiatischen Ländereinstellungen von der Anzahl der Bytes unterscheiden. Beispiel: char_length ( 'Kanada' ) Ergebnis: 6 character_length ( Zeichenfolge_Ausdruck ) Gibt die Anzahl der Zeichen in 'Zeichenfolge_Ausdruck' zurück. Beispiel: character_length ( 'Kanada' ) Ergebnis: 6 current_date current_date Liefert ein Datum, das das aktuelle Datum des Computers repräsentiert, auf dem die Datenbanksoftware ausgeführt wird. Beispiel: current_date Ergebnis: 2003-03-04 current_time current_time Gibt einen Uhrzeitwert mit Zeitzonenwert zurück, der die aktuelle Uhrzeit des Computers darstellt, auf dem die Datenbanksoftware ausgeführt wird (wenn die Datenbank diese Funktion unterstützt). Andernfalls wird die aktuelle Uhrzeit des Computers dargestellt, auf dem die IBM® Cognos® BI-Software ausgeführt wird. Beispiel: current_time Ergebnis: 16:33:11.354+05:00 current_timestamp current_timestamp Gibt einen Datum-Uhrzeit-Wert mit Zeitzonenwert zurück, der die aktuelle Uhrzeit des Computers darstellt, auf dem die Datenbanksoftware ausgeführt wird (wenn die Datenbank diese Funktion unterstützt). Andernfalls wird die aktuelle Uhrzeit des Computers dargestellt, auf dem die IBM® Cognos® BI-Software ausgeführt wird. Beispiel: current_timestamp Ergebnis: 2003-03-03 16:40:15.535+05:00 localtime localtime Liefert einen Uhrzeitwert, der den aktuellen Uhrzeitwert des Computers repräsentiert, der die Datenbanksoftware ausführt. Beispiel: localtime Ergebnis: 16:33:11 localtimestamp localtimestamp Liefert einen Datum-Uhrzeitwert, der die aktuelle Zeitmarke des Computers repräsentiert, der die Datenbanksoftware ausführt. Beispiel: localtimestamp Ergebnis: 2003-03-03 16:40:15 extract ( Datumsteil ; Datum_Uhrzeit_Ausdruck ) Gibt eine Ganzzahl zurück, die den Wert von "Datumsteil" (year, month, day, hour, minute, second, epoch) in 'Datum_Uhrzeit_Ausdruck' darstellt. Beispiel: extract ( year ; 2003-03-03 16:40:15,535 ) Ergebnis: 2003 Beispiel: extract ( hour ; 2003-03-03 16:40:15.535 ) Ergebnis: 16 Beispiel: extract ( epoch ; 2014-11-23 ) Ergebnis: 1416718800 lower ( Zeichenfolge_Ausdruck ) Gibt 'Zeichenfolge_Ausdruck' zurück, nachdem alle Großbuchstaben in Kleinbuchstaben konvertiert wurden. Beispiel: lower ( 'ABCDEF' ) Ergebnis: abcdef mod ( Ganzzahl_Ausdruck1; Ganzzahl_Ausdruck2 ) Gibt den Rest (Modulus) aus der Division von 'Ganzzahl_Ausdruck1' durch 'Ganzzahl_Ausdruck2' zurück. 'Ganzzahl_Ausdruck2' darf nicht null sein, da sonst eine Ausnahmebedingung auftritt. Beispiel: mod ( 20 ; 3 ) Ergebnis: 2 occurrences_regex ( Regulärer_Ausdruck ; Zeichenfolge_Ausdruck [ ; Ganzzahl_Ausdruck [ ; Flag_Ausdruck ]] ) Gibt den Ganzzahlwert zurück, der angibt, wie oft der reguläre Ausdruck 'Regulärer_Ausdruck' in 'Zeichenfolge_Ausdruck' vorkommt. Die Suche beginnt an der Position 'Ganzzahl_Ausdruck', standardmäßig 1. Mit 'Flag_Ausdruck' können Flags für Optionen zur Interpretation des regulären Ausdrucks festgelegt werden. Einzelne Buchstaben werden zur Definition der Flags verwendet; gültige Werte sind 's', 'm', 'i' und 'x'. Beispiel: occurrences_regex ( '.er' ; 'Flicker Laterne') Ergebnis: 2 octet_length ( Zeichenfolge_Ausdruck ) Liefert die Anzahl der Bytes in 'Zeichenfolge_Ausdruck'. Beispiel: octet_length ( 'ABCDEF' ) Ergebnis: 6 Beispiel: octet_length ( '' ) Ergebnis: 0 position ( Zeichenfolge_Ausdruck1 ; Zeichenfolge_Ausdruck2 ) Gibt den Ganzzahlwert zurück, der die Startposition von 'Zeichenfolge_Ausdruck1' in 'Zeichenfolge_Ausdruck2' darstellt. Wird 'Zeichenfolge_Ausdruck1' nicht gefunden, ist der Rückgabewert 0. Beispiel: position ( 'C' ; 'ABCDEF' ) Ergebnis: 3 Beispiel: position ( 'H' ; 'ABCDEF' ) Ergebnis: 0 position_regex ([ start|after ]  Regulärer_Ausdruck ; Zeichenfolge_Ausdruck [ ; Ganzzahl_Ausdruck1 [ ; Ganzzahl_Ausdruck2 [ , Flag_Ausdruck ]]] ) Gibt den Ganzzahlwert zurück, der die Start- oder Endpositon der Teilzeichenfolge in 'Zeichenfolge_Ausdruck' angibt, die mit dem regulären Ausdruck 'Regulärer_Ausdruck' übereinstimmt. Die Suche beginnt an der Position 'Ganzzahl_Ausdruck1', standardmäßig 1. Das Vorkommen des zu suchenden Musters wird durch 'Ganzzahl_Ausdruck2' angegeben, standardmäßig 1. Die durch das erste Argument festgelegte Rückgabeoption gibt den Rückgabewert im Verhältnis zum Vorkommen an. Mit 'start' wird die Position des ersten Zeichens des Vorkommens zurückgegeben. Mit 'after' wird die Position des Zeichens nach dem Vorkommen zurückgegeben. Wird keine Rückgabeoption angegeben, wird 'start' impliziert. Mit 'Flag_Ausdruck' können Flags für Optionen zur Interpretation des regulären Ausdrucks festgelegt werden. Einzelne Buchstaben werden zur Definition der Flags verwendet; gültige Werte sind 's', 'm', 'i' und 'x'. Beispiel: position_regex ( '.er' ; 'Flicker Laterne') Ergebnis: 5 Beispiel: position_regex ( after '.er' ; 'Flicker Laterne' ) Ergebnis: 8 Beispiel: position_regex ( '.er' ; 'Flicker Laterne' ; 1 ; 2 ) Ergebnis: 11 trim ( [ [ trailing|leading|both ] [ Übereinstimmung_Zeichen_Ausdruck ] ; ] Zeichenfolge_Ausdruck ) Gibt 'Zeichenfolge_Ausdruck' zurück, nachdem führende und nachfolgende Leerzeichen bzw. die in 'Übereinstimmung_Zeichen_Ausdruck' angegebenen Zeichen abgeschnitten wurden. 'Both' ist implizit, wenn das erste Argument nicht angegeben wurde. Wenn das zweite Argument fehlt, werden Leerzeichen angenommen. Beispiel: trim ( trailing 'A' ; 'ABCDEFA' ) Ergebnis: ABCDEF Beispiel: trim ( both ; ' ABCDEF ' ) Ergebnis: ABCDEF upper ( Zeichenfolge_Ausdruck ) Liefert 'Zeichenfolge_Ausdruck', wobei alle Kleinbuchstaben in Großbuchstaben konvertiert wurden. Beispiel: upper ( 'abcdef' ) Ergebnis: ABCDEF user user Gibt eine Berechtigungs-ID für den Datenbankmanager zur Laufzeit zurück. nullif nullif ( Ausdruck1; Ausdruck2 ) Gibt null zurück, wenn 'Ausdruck1' gleich 'Ausdruck2' ist. Andernfalls wird 'Ausdruck1' zurückgegeben. coalesce ( Ausdruck_Liste ) Gibt das erste Nicht-Null-Argument zurück (bzw. null, wenn alle Argumente null sind). Erfordert zwei oder mehr Argumente in 'Ausdruck_Liste'. coalesce ( [Einzelpreis]; [Stückverkaufspreis] ) Ergebnis: Gibt den Einzelpreis oder, wenn der Einzelpreis null ist, den Stückverkaufspreis zurück. coalesce ( Ausdruck_Liste ) Gibt das erste Nicht-Null-Argument zurück (bzw. null, wenn alle Argumente null sind). Erfordert ein oder mehr Argumente in 'Ausdruck_Liste'. coalesce ( [Einzelpreis]; [Stückverkaufspreis] ) Ergebnis: Gibt den Einzelpreis oder, wenn der Einzelpreis null ist, den Stückverkaufspreis zurück. ceil ( numerischer_Ausdruck ) Liefert die kleinste Ganzzahl, die größer oder gleich 'numerischer_Ausdruck' ist. ceiling ( numerischer_Ausdruck ) Liefert die kleinste Ganzzahl, die größer oder gleich 'numerischer_Ausdruck' ist. Beispiel: ceiling ( 4,22 ) Ergebnis: 5 Beispiel: ceiling ( -1,23 ) Ergebnis: -1 ln ( numerischer_Ausdruck ) Liefert den natürlichen Logarithmus von 'numerischer_Ausdruck'. Beispiel: ln ( 4 ) Ergebnis: 1,38629 exp ( numerischer_Ausdruck ) Gibt 'e' potenziert mit 'numerischer_Ausdruck' zurück. Die Konstante 'e' ist die Basis des natürlichen Logarithmus. Beispiel: exp ( 2 ) Ergebnis: 7,389056 period ( Datum_Uhrzeit_Ausdruck1 ; Datum_Uhrzeit_Ausdruck2 ) Erstellt einen Periodenwert mit dem Startpunkt 'Datum_Uhrzeit_Ausdruck1' und dem Endpunkt 'Datum_Uhrzeit_Ausdruck2'. Die Datentypen des Start- und Endpunkts müssen identisch sein; data, time oder dateTime sind möglich. Periodenwerte können in Periodenvergleichselementen verwendet werden. Beispiel: period ( 2003-03-03 ; 2003-10-03 ) Beispiel: period ( 12:00:00 ; 23:59:59 ) Beispiel: period ( 2003-03-03 12:00:00 ; 2003-10-03 23:59:59 ) Beispiel: period ( [EMP].[BUS_START] ; [EMP].[BUS_END] ) power ( numerischer_Ausdruck1 ; numerischer_Ausdruck2 ) Gibt 'numerischer_Ausdruck1' potenziert mit 'numerischer_Ausdruck2' zurück. Wenn 'numerischer_Ausdruck1' negativ ist, muss 'numerischer_Ausdruck2' zu einer Ganzzahl ausgewertet werden. Beispiel: power ( 3 ; 2 ) Ergebnis: 9 random ( [ integer_expression ] ) Gibt einen willkürlichen Gleitkommawert zwischen 0 und 1 zurück, wobei der optionale 'Ganzzahl_Ausdruck' als Ausgangswert verwendet wird. _round ( numerischer_Ausdruck ; Ganzzahl_Ausdruck ) Gibt 'numerischer_Ausdruck' zurück, nachdem auf 'Ganzzahl_Ausdruck' Stellen rechts vom Dezimaltrennzeichen gerundet wurde. Kommentar: 'Ganzzahl_Ausdruck' muss eine positive Ganzzahl sein. Das Runden wird vor dem Anwenden der Datenformatierung durchgeführt. Beispiel: _round ( 1220,42369; 2 ) Ergebnis: 1220,42 Der Zeilenkonstruktor stellt eine Gruppe von Werten dar, die als Datenzeile organisiert sind. Er kann in Bedingungsausdrücken (IF-THEN-ELSE) und Filterausdrücken (IN-Klausel) verwendet werden. row ( Ausdruck_Liste ) Beispiel: if ( row([Einzelhändlername],[Bestellmethodencode]) = row('ActiForme',4) ) then ('A') else ('B') Ergebnis: Gibt 'A' zurück, wenn der Einzelhändlername 'ActiForme' lautet und der Code für die Bestellmethode 4 ist. Andernfalls wird der Wert 'B' zurückgegeben. Beispiel: case row([Einzelhändlername],[Bestellmethodencode]) when row('Advanced Climbing Ltd',3) then 1 when row('ActiForme',5) then 2 else 3 end Ergebnis: Gibt 1 zurück, wenn der Einzelhändlername 'Advanced Climbing Ltd' lautet und der Code für die Bestellmethode 3 ist. Gibt 2 zurück, wenn der Einzelhändlername 'ActiForme' lautet und der Code für die Bestellmethode 5 ist. Andernfalls wird der Wert 3 zurückgegeben. Beispiel: row ( [Bestellmethodencode]; [Jahr] ) in ( [Abfrage].[BMC]; [Abfrage].[JR] ) Ergebnis: Die zurückgegebnen Daten werden anhand der beiden folgenden Bedingungen gefiltert: 1) [Bestellmethodencode] in ([Abfrage].[BMC]) 2) [Jahr] in ([Abfrage.[JR]) sqrt ( numerischer_Ausdruck ) Gibt die Quadratwurzel von 'numerischer_Ausdruck' zurück. Der Wert für 'numerischer_Ausdruck' muss positiv sein. Beispiel: sqrt ( 9 ) Ergebnis: 3 substring ( Zeichenfolge_Ausdruck ; Ganzzahl_Ausdruck1 [ ; Ganzzahl_Ausdruck2 ] ) Gibt die Teilzeichenfolge aus 'Zeichenfolge_Ausdruck' zurück, die für 'Ganzzahl_Ausdruck2' an der Position 'Ganzzahl_Ausdruck1' beginnt oder am Ende von 'Zeichenfolge_Ausdruck', wenn 'Ganzzahl_Ausdruck2' nicht angegeben ist. Das erste Zeichen in 'Zeichenfolge_Ausdruck' befindet sich an der Position 1. Beispiel: substring ( 'abcdefg' ; 3 ; 2 ) Ergebnis: cd substring_regex ( Regulärer_Ausdruck ; Zeichenfolge_Ausdruck [ ; Ganzzahl_Ausdruck1 [ ; Ganzzahl_Ausdruck2 [ ; Flag_Ausdruck ]]] ) Gibt eine Teilzeichenfolge von 'Zeichenfolge_Ausdruck' zurück, die mit dem regulären Ausdruck 'Regulärer_Ausdruck' übereinstimmt. Die Suche beginnt an der Position 'Ganzzahl_Ausdruck1', standardmäßig 1. Das Vorkommen des zu suchenden Musters wird durch 'Ganzzahl_Ausdruck2' angegeben, standardmäßig 1. Mit 'Flag_Ausdruck' können Flags für Optionen zur Interpretation des regulären Ausdrucks festgelegt werden. Einzelne Buchstaben werden zur Definition der Flags verwendet; gültige Werte sind 's', 'm', 'i' und 'x'. Beispiel: substring_regex ( '.er' ; 'Flicker Laterne') Ergebnis: ker Beispiel: substring_regex ( '.er' ; 'Flicker Laterne' ; 1 ; 2 ) Ergebnis: ter floor ( numerischer_Ausdruck ) Liefert die größte Ganzzahl, die kleiner oder gleich 'numerischer_Ausdruck' ist. Beispiel: floor ( 3,22 ) Ergebnis: 3 Beispiel: floor ( -1,23 ) Ergebnis: -2 width-bucket ( numerischer_Ausdruck ;  Mindestwert ;  Maximalwert ;  Anzahl_Buckets ) Diese Funktion gibt für einen bestimmten Audruck die Nummer des Buckets zurück, dem der Wert dieses Ausdrucks nach der Auswertung zugeorndet würde. Beispiel: width-bucket ( Menge ;  100 ;  5000 ;  10 ) Ergebnis: Gibt für jede Zeile die Bucketnummer (0 bis 11) für den aktuellen Wert für die Menge zurück. Quantity width-bucket (Quantity) ------------ ------------------------------------- 50 0 450 1 1400 3 3600 8 4900 10 5000 11 sin ( numerischer_Ausdruck ) Diese trigonometrische Funktion gibt den Sinus des Arguments zurück, wobei das Argument ein im Bogenmaß ausgedrückter Winkel ist. Beispiel: sin ( 0,1667 * 3,1415 ) Ergebnis: 0,5 cos ( numerischer_Ausdruck ) Diese trigonometrische Funktion gibt den Kosinus des Arguments zurück, wobei das Argument ein im Bogenmaß ausgedrückter Winkel ist. Beispiel: cos ( 0,3333 * 3,1415 ) Ergebnis: 0,5 tan ( numerischer_Ausdruck ) Diese trigonometrische Funktion gibt den Tangens des Arguments zurück, wobei das Argument ein im Bogenmaß ausgedrückter Winkel ist. Beispiel: tan ( 0,25 * 3,1415 ) Ergebnis: 1 arccos ( numerischer_Ausdruck ) Diese trigonometrische Umkehrfunktion gibt den Arkuskosinus des Arguments zurück, wobei das Argument im Bereich -1 bis 1 liegt und das Ergebnis ein im Bogenmaß ausgedrückter Wert ist. Beispiel: arccos ( -1 ) Ergebnis: 3,1415 arcsin ( numerischer_Ausdruck ) Diese trigonometrische Umkehrfunktion gibt den Akrussinuns des Arguments zurück, wobei das Argument im Bereich -1 bis 1 liegt und das Ergebnis ein im Bogenmaß ausgedrückter Wert ist. Beispiel: arcsin ( 0 ) Ergebnis: 3,1415 Diese trigonometrische Umkehrfunktion gibt den Arkustangens des Arguments zurück, wobei das Argument im Bereich -1 bis 1 liegt und das Ergebnis ein im Bogenmaß ausgedrückter Wert ist. arctan ( numerischer_Ausdruck ) Beispiel: arctan ( 0 ) Ergebnis: 3,1415 coshyp ( numerischer_Ausdruck ) Diese trigonometrische Funktion gibt den Hyperbelkosinus des Arguments zurück, wobei das Argument ein im Bogenmaß ausgedrückter Winkel ist. Beispiel: coshyp ( 0 ) Ergebnis: 1 sinhyp ( numerischer_Ausdruck ) Diese trigonometrische Funktion gibt den Hyperbelsinus des Arguments zurück, wobei das Argument ein im Bogenmaß ausgedrückter Winkel ist. Beispiel: sinhyp ( 0 ) Ergebnis: 0 tanhyp ( numerischer_Ausdruck ) Diese trigonometrische Funktion gibt den Hypterbeltangens des Arguments zurück, wobei das Argument ein im Bogenmaß ausgedrückter Winkel ist. Beispiel: tanhyp ( 0 ) Ergebnis: 0
SQL-99 - OLAP-Erweiterungen cube cube ( Gruppier_Spalten_Referenz_Liste ) Dies ist eine GROUP BY-Klausel und resultiert in einer Gruppiersatzliste, welche einen Gruppiersatz für alle möglichen Kombinationen der Gruppierspalten in 'Gruppier_Spalten_Referenz_Liste' enthält. rollup rollup ( Gruppier_Spalten_Referenz_Liste ) Dies ist eine GROUP BY-Klausel und resultiert in einer Gruppiersatzliste, welche einen Gruppiersatz für jede individuelle Subliste in 'Gruppier_Spalten_Referenz_Liste' enthält, wobei Elemente eins nach dem anderen von rechts weggelassen werden. grouping sets grouping sets ( Gruppier_Satz_Liste ) Dies ist eine GROUP BY-Klausel, die mehrere Sätze angibt, nach denen gruppiert werden soll. rank rank () Berechnet den Rang der Zeile innerhalb der Fensterpartition. Der Rang von Zeile X wird aus 1 plus die Anzahl der Zeilen berechnet, die X vorausgehen (aber keine Peers von X sind). dense_rank dense_rank () Berechnet den dichten Rang der Zeile innerhalb der Fensterpartition. Der dichte Rang von Zeile X wird berechnet aus der Anzahl von Zeilen, die X vorausgehen, X einschließen und eindeutig sind. percent_rank percent_rank () Berechnet den prozentualen Rang der Zeile innerhalb der Fensterpartition. Der prozentuale Rang von Zeile X wird aus (XY - 1) / (AB - 1) berechnet, wobei XY der Rang von X und AB die Anzahl der Zeilen in der Fensterpartition ist. row_number row_number () Berechnet die sequenzielle Zeilennummer der Zeile innerhalb der Fensterpartition, wobei mit 1 für die erste Zeile begonnen wird. ntile ntile ( numerischer_Ausdruck ) Teilt einen geordneten Datensatz in eine bestimmte Anzahl von Untergruppen (Buckets) auf, die durch 'numerischer_Ausdruck' angegeben wird, und weist jeder Zeile die entsprechende Bucket-Nummer zu.