Re: new line in psotgres - Mailing list pgsql-general
From | Gavin Flower |
---|---|
Subject | Re: new line in psotgres |
Date | |
Msg-id | 527EE252.40306@archidevsys.co.nz Whole thread Raw |
In response to | Re: new line in psotgres (Gavin Flower <GavinFlower@archidevsys.co.nz>) |
Responses |
Re: new line in psotgres
|
List | pgsql-general |
I had another thought...On 10/11/13 02:38, Alban Hertroys wrote:The second methods have different characteristics...On Nov 9, 2013, at 12:08, abdullatheef <latheefvkpadi@gmail.com> wrote:> you can include newline in postgre using literal E > > create table table (text varchar(50)); > insert into Table (text) values (E'This is the first part \\n And this is > the second');Or like this: development=> begin; BEGIN development=> create table t1 (text text); CREATE TABLE development=> insert into t1 values ('This is line 1. development'> This is line 2.'); INSERT 0 1 development=> select * from t1; text -----------------This is line 1.+This is line 2. (1 row) Alban Hertroys -- If you can't see the forest for the trees, cut the trees and you'll find there is no forest.-- Sent via pgsql-general mailing list (pgsql-general@postgresql.org) To make changes to your subscription: http://www.postgresql.org/mailpref/pgsql-general
-- test.sql
CREATE TABLE t1
(
id SERIAL PRIMARY KEY,
payload text
);
-- method 1
INSERT INTO t1
(payload)
VALUES
(E'This is the first part \\n And this is the second');
-- method 2
INSERT INTO t1
(payload)
VALUES
('This is line 1.
This is line 2.');
TABLE t1;
######## results:
gavin=> \i test.sql
DROP TABLE
psql:SQL.sql:8: NOTICE: CREATE TABLE will create implicit sequence "t1_id_seq" for serial column "t1.id"
psql:SQL.sql:8: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "t1_pkey" for table "t1"
CREATE TABLE
INSERT 0 1
INSERT 0 1
id | payload
----+--------------------------------------------------
1 | This is the first part \n And this is the second
2 | This is line 1. +
| This is line 2.
(2 rows)
Cheers,
Gavin
I redid the above, and included at test with 'E' & '\n' - just one slash before the 'n'. The other changes are mostly cosmetic.
So now we have 2 methods that produce identical output (ignoring the id).
/*
* Split lines text values
*
* splitline01.sql
*/
DROP TABLE IF EXISTS t1;
CREATE TABLE t1
(
id SERIAL PRIMARY KEY,
payload text
);
-- method 1
INSERT INTO t1
(payload)
VALUES
(E'This is the first part \\n And this is the second');
-- method 2
INSERT INTO t1
(payload)
VALUES
(E'This is the first part \n And this is the second');
-- method 3
INSERT INTO t1
(payload)
VALUES
('This is the first part
And this is the second');
TABLE t1;
##################################
gavin=> \i splitline01.sql
DROP TABLE
psql:splitline01.sql:12: NOTICE: CREATE TABLE will create implicit sequence "t1_id_seq" for serial column "t1.id"
psql:splitline01.sql:12: NOTICE: CREATE TABLE / PRIMARY KEY will create implicit index "t1_pkey" for table "t1"
CREATE TABLE
INSERT 0 1
INSERT 0 1
INSERT 0 1
id | payload
----+--------------------------------------------------
1 | This is the first part \n And this is the second
2 | This is the first part +
| And this is the second
3 | This is the first part +
| And this is the second
(3 rows)
Cheers,
Gavin
pgsql-general by date: