Version 6.3.8 für Windows
 —  Statements  —

Skalar-Ausdrücke

 

+

factor

 

  - (scalar-expression)  
scalar-expression     scalar-operator scalar-expression

Dieses Dokument behandelt folgende Themen:


scalar-expression

Eine scalar-expression besteht aus einem factor und anderen scalar-expressions einschließlich scalar-operators.

In punkto Referenzierungspriorität gilt folgendes:

Seitenanfang

scalar-operator

+

-
*
/

Ein scalar-operator kann einer der oben aufgeführten Operatoren sein, wobei vor und nach den Operatoren − und / jeweils mindestens ein Leerzeichen stehen muss.

Seitenanfang

factor

atom

column-reference
aggregate-function
special-register

Ein factor kann eines der obigen Elemente sein, die im Folgenden beschrieben sind.

atom

parameter

constant

 Ein atom kann entweder ein parameter oder eine Konstante (constant) sein; vgl. Abschnitt Grundlegende Syntaxbestandteile.

column-reference

table-name .

column-name
correlation-name.

Eine column-reference ist ein Spaltenname (column-name), optional qualifiziert durch einen Tabellennamen (table-name) oder einen correlation-name (vgl. Abschnitt Grundlegende Syntaxbestandteile). Qualifizierte Namen sind oft klarer als unqualifizierte und manchmal erforderlich.

Anmerkung:
Ein table-name darf hier nicht explizit mit einem authorization-identifier qualifiziert werden. Falls Sie einen qualifizierten table-name benötigen, verwenden Sie stattdessen einen correlation-name.

Wird eine Spalte mit einem table-name oder correlation-name referenziert, muss sie in der betreffenden Tabelle enthalten sein. Wird weder table-name noch correlation-name angegeben, muss die betreffende Spalte in einer der in der FROM-Klausel angegebenen Tabellen enthalten sein (siehe table-expression).

aggregate-function

COUNT

(*)

 
(DISTINCT column-reference)  

AVG

       
MAX

(DISTINCT column-reference)

 
MIN ([ALL] scalar-expression)  
SUM        

SQL bietet eine Reihe spezieller Funktionen zur Erweiterung der grundlegenden Such-Möglichkeiten. Folgende sogenannte SQL aggregate-functions sind verfügbar und werden von Natural unterstützt:

AVG gibt den Durchschnitt der Werte einer Spalte zurück.
COUNT gibt die Anzahl der Werte einer Spalte zurück.
MAX gibt den größten Wert einer Spalte zurück.
MIN gibt den kleinsten Wert einer Spalte zurück.
SUM gibt die Summe der Werte einer Spalte zurück.

Bis auf COUNT(*) sammelt jede dieser Funktionen die Skalarwerte in einem Argument, d.h. einer einzelnen Spalte oder einer scalar-expression, und gibt als Ergebnis einen Skalarwert zurück.

Beispiel:

DEFINE DATA LOCAL 
1 AVGAGE   (I2) 
END-DEFINE 
... 
SELECT AVG (AGE) 
  INTO AVGAGE 
  FROM SQL-PERSONNEL 
  ...

Im allgemeinen kann dem Argument optional das Schlüsselwort DISTINCT vorangestellt werden, um doppelte Werte zu eliminieren, bevor die Funktion ausgeführt wird.

Wenn Sie DISTINCT angeben, muss das Argument der Name einer einzelnen Spalte sein; wenn Sie DISTINCT nicht angeben, kann das Argument eine allgemeine scalar-expression sein.

DISTINCT ist nicht erlaubt mit der Funktion COUNT(*), mit der alle Reihen in einer Tabelle — ohne Eliminierung doppelt vorkommender Reihen — gezählt werden.

special-register

USER

Bei der Referenzierung eines special-registers erhält man einen Skalarwert.

Seitenanfang