2016-03-16 8 views
11

Wie verwendet man Newline-Zeichen in PostgreSQL?PostgreSQL Newline-Zeichen

Dies ist ein falsche Skript von meinem Experiment:

select 'test line 1'||'\n'||'test line 2'; 

ich den SQL-Editor-Display will das Ergebnis von meinem Skript oben:

test line 1 
test line 2 

Aber leider dieses Ergebnis bekomme ich nur von meinem Skript Wenn ich es in SQL-Editor ausführen:

test line 1 test line 2 
+3

Mögliche Duplikate von [Wie neue Zeile in PostgreSQL einfügen] (http://stackoverflow.com/questions/32949768/how-to-insert-new-line-in-postgresql) – Elad

+0

@Elad, meine Frage ist etwa "Auswählen" -Abfrage Um Daten in der Tabelle zu lesen, fügen Sie "create" ein. Die Antwort von a_horse_with_no_name reicht aus, um mich jetzt zu lösen. – Alimin

+0

die Antwort dort 'Sie vermissen e direkt vor der neuen Zeile literal 'ist die gleiche Antwort wie Sie hier gegeben. – Elad

Antwort

23

Der Backslash hat keine besondere Bedeutung in SQL '\n', so ist ein Backslash gefolgt von dem Zeichen n

„Escape-Sequenzen“ in einem Stringliteral Sie verwenden müssen, um verwenden ein "extended" constant:

select 'test line 1'||E'\n'||'test line 2'; 

Eine weitere Option ist die chr() Funktion zu verwenden:

select 'test line 1'||chr(10)||'test line 2'; 

Oder einfach ausgedrückt die newline in der String-konstante:

select 'test line 1 
test line 2'; 

Ob dies tatsächlich als zwei Zeilen in der SQL-Client angezeigt wird, hängt von Ihrem SQL-Client.

+0

Es ist ein wenig albern, nur den Newline-Charakter Teil der Zeichenfolge zu verlängern, oder? Du könntest einfach 'E'test Linie 1 \ ntest Linie 2'' machen – thedayturns