SQL Wertausdrücke

Ein SQL-Ausdruck kann einfach oder komplex sein. Der Ausdruck kann wörtlichen Werte enthalten, Spaltennamen, Parameter, Host-Variablen, Unterabfragen, logische Verknüpfungen und arithmetische Operatoren. Unabhängig von seiner Komplexität, muss ein Ausdruck auf einen einzelnen Wert zu reduzieren.

Aus diesem Grund werden SQL-Ausdrücke allgemein bekannt als Wertausdrücke. mehrere Wertausdrücke in einem einzigen Ausdruck zu kombinieren ist möglich, solange die Komponente Wertausdrücke auf Werte reduzieren, die kompatible Datentypen haben.

SQL hat fünf Arten von Wertausdrücke:

  • String Wertausdrücke

  • Numerische Wertausdrücke

  • Datetime-Wert Ausdrücke

  • Intervall-Wertausdrücke

  • Bedingte Wertausdrücke

String Wertausdrücke

Das einfachste String-Wert Ausdruck gibt einen einzelnen String-Wert. Andere Möglichkeiten sind eine Spaltenreferenz, eine Set-Funktion, eine skalare Unterabfrage, eine FALL Ausdruck, ein BESETZUNG Ausdruck oder eine komplexe Zeichenfolge Ausdruck.

Nur ein Bediener ist möglich, in einem Ausdruck String-Wert: die Verkettungsoperator. Sie können jedes der Wertausdrücke mit einem anderen Ausdruck verketten eine komplexere Zeichenfolge Wertausdruck zu erstellen. Ein Paar von vertikalen Linien (||) Stellt den Verkettungsoperator. Die folgende Tabelle zeigt einige Beispiele für String-Wert Ausdrücke.

AusdruckProduziert
'Peanut' || 'brüchig''Erdnusskrokant'
'Jelly' || '' || 'Bohnen'"Jelly Beans"
FIRST_NAME || '' || LAST_NAME'Joe Smith'
B'1100111 '|| B'01010011'"110011101010011"
'' || 'Spargel''Spargel'
'Spargel' || '''Spargel'
'Wie' || '' || 'Par' || '' || 'Agus''Spargel'

Wenn Sie eine Zeichenfolge in eine Zeichenfolge der Länge Null verketten, ist das Ergebnis das gleiche wie das Original-String.

Numerische Wertausdrücke

Im numerischen Wert Ausdrücke, Sie können die Addition, Subtraktion, Multiplikation und Division Operatoren in numerische Daten vom Typ gelten. Der Ausdruck muss auf einen numerischen Wert zu reduzieren. Die Komponenten eines numerischen Wertausdruck kann so lange unterschiedlicher Datentypen sein, wie alle die Datentypen sind numerisch.

Der Datentyp des Ergebnisses hängt von den Datentypen der Komponenten, aus denen Sie das Ergebnis ableiten. Trotzdem ist der SQL-Standard nicht starr die Art angeben, die von Quelle-expression Komponenten aus einer bestimmten Kombination ergibt. Das ist wegen der Unterschiede zwischen den Hardware-Plattformen. Überprüfen Sie die Dokumentation für Ihre spezifische Plattform, wenn Sie numerische Datentypen sind zu mischen.

Hier sind einige Beispiele von numerischen Wert Ausdrücke:

  • -27

  • 49 + 83

  • 5 * (12-3)

  • PROTEIN + FAT + KOHLENHYDRAT

  • FÜSSEN / 5280

  • COST *: multiplierA

Datetime-Wert Ausdrücke

Datetime-Wert Ausdrücke Ausführen von Operationen auf Daten, die mit Daten und Zeiten beschäftigen. Diese Wertausdrücke können Komponenten enthalten, die von der Art sind DATUM, ZEIT, TIMESTAMP, oder INTERVALL. Das Ergebnis eines Ausdrucks Datetime-Wert ist immer ein Datetime-Typ (DATUM, ZEIT, oder TIMESTAMP). Der folgende Ausdruck, zum Beispiel, gibt das Datum eine Woche ab heute:

CURRENT_DATE + INTERVAL '7' DAY

Die Zeiten sind in Universal Time Coordinated (UTC) gehalten - in Großbritannien als Greenwich Mean Time bekannt - aber Sie können einen Versatz geben Sie die Zeit richtig für eine bestimmte Zeitzone zu machen. Für das System der lokalen Zeitzone, können Sie die einfache Syntax im folgenden Beispiel gegeben verwenden:

TIME '22: 55: 00 'AT LOCAL

Alternativ können Sie diesen Wert, den langen Weg geben:

TIME '22: 55: 00 'AT ZEITZONE INTERVAL' -08,00 'Stunde zu Minute

Dieser Ausdruck definiert die lokale Zeit als die Zeitzone für Portland, Oregon, das acht Stunden früher als die von Greenwich, England.

Intervall-Wertausdrücke

Wenn Sie ein Datetime von einem anderen subtrahieren, erhalten Sie ein Intervall. Das Hinzufügen eines Datetime zu einem anderen macht keinen Sinn, so SQL nicht zulässt zu tun. Wenn Sie zwei Intervalle addieren oder von einem anderen Intervall ein Intervall subtrahieren, ist das Ergebnis ein Intervall. Sie können auch entweder vermehren oder ein Intervall durch eine numerische Konstante teilen.

SQL verfügt über zwei Arten von Intervallen: Jahr Monat und Tageszeit. Um zu vermeiden, Zweideutigkeiten, müssen Sie angeben, welche in einem Intervall Ausdruck zu verwenden. Der folgende Ausdruck, zum Beispiel, gibt das Intervall in Jahren und Monaten, bis Sie das Rentenalter erreichen:

(BIRTHDAY_65 - CURRENT_DATE) YEAR TO MONTH

Das folgende Beispiel gibt ein Intervall von 40 Tagen:

INTERVAL '17' DAY + INTERVAL '23' DAY

Das Beispiel, das in etwa der Gesamtzahl der Monate folgt, dass eine Mutter von fünf Kindern ist schwanger gewesen (unter der Annahme, dass sie derzeit nicht die Nummer erwarten sechs!):

INTERVAL '9' Monat * 5

Die Intervalle können negativ sein sowie positive und kann aus jedem Wertausdruck oder eine Kombination aus Wertausdrücke bestehen, die zu einem Intervall auswertet.

Bedingte Wertausdrücke

Der Wert von a bedingten Wertausdruck abhängig von einer Bedingung. Die bedingten Wertausdrücke FALL, NULLIF, und VERSCHMELZEN sind wesentlich komplexer als die anderen Arten von Wertausdrücke.

Menü