Menu Content/Inhalt
Home arrow PostgreSQL arrow Zeichenkettenkonstanten
Zeichenkettenkonstanten PDF Drucken E-Mail

Zeichenkettenkonstanten

Eine Zeichenkettenkonstante (String-Konstante) in SQL ist eine Folge von beliebigen Zeichen, die von halben Anführungszeichen (Hochkommata) eingeschlossen ist, zum Beispiel:

'Das ist eine Zeichenkette.' 'Preise: 127,00 Euro' '!@#$%^&*()'

Ein HOchkomma kann in eine Zeichenkette eingefügt werden, indem man ihn doppelt schreibt oder einen Backslash voranstellt (Letzteres ist eine PostgreSQL-Erweiterung gegenüber dem SQL-Standard), zum Beispiel:

'Christian' 's host' 'Erich's Braillezeile'

Zwei Zeichenkettenkonstanten, die nur durch Leerzeichen, Tabs und mindestens einen Zeilenumbruch getrent sind, werden zusammengehängt und als eine Konstante behandelt. Zum Beispiel ist

SELECT 'foo' 'bar';

gleichbedeutend mit

SELECT 'foobar' ;

Aber

SELECT 'foo' 'bar' ;


ist eine ungültige Angabe.
Folgende Backslash-Escape-Folgen (ähnlich zu C) sind in Zeichenkettenkonstanten möglich:

\b: Backspace (vorangegangenes Zeichen löschen) \f: Form-Feed \n: Zeilenumbruch (Newline) \r: Carriage Return \xxx: Zeichen mit dem ASCII-Code xxx (Oktalzahl) \\: BAckslash

Jedes andere Zeichen nach einem Backslash wird unverändert übernommen.

Wenn der Inhalt der Zeichenkettenkonstante viele Apostrophe enthält, zum Beispiel bei der Definition einer Funktion, dann kann diese Syntax unübersichtlich werden, weil aller Apostrophe verdoppelt werden müssen.
Daher gibt es in PostgreSQL eine alternative Methode, um Zeichenkettenkonstanten zu begrenzen: das "Dollar-Quoting". Eine solche Konstante beginnt mit einem Dollarzeichen, optional gefolgt von einer beliebigen MArkierung aus einem zweiten Dollarzeichen. Danach folgt der eigentliche Inhalt der Zeichenkette und durch Auswahl unterschiedlicher Tags können Dollar-Quotes beliebig geschaltelt werden. Beispiele:

 

$$Christian's host$$ $Tag$Erich's Braillezeile$Tag$

Backslashes werden zwischen Dollar-Quetes nicht besonders behandelt, was bei der Definition von benutzerdefinierten Funktionen ebenfalls von Vorteil sein kann.

Zeichenkettenkonstanten dienen als Eingabewerte für Zeichenkettendatentypen, können in PostgreSQL aber auch als Eingabewerte für alle anderen Datentypen verwendet werden, wenn der beabsichtigte Datentyp eindeutig ist. In der Regel sind aber die in den folgenden Abschnitten beschriebenen datentypspezifischen Konstantenformate zu bevorzugen.
Das Zeichen mit dem Code null kann nicht in einer Zeichenkettenkonstante enthalten sein.

 

 
< Zurück   Weiter >

Scroll-news

Mailingliste:
http://mlists.in-berlin.de/mailman/listinfo/lieo-mlists.in-berlin.de 

 

Das Forum ist online gegangen

 


Who's Online

Aktuell 132 Gäste online

Google AdSense