[GENERAL] UPDATE table: Syntax to Remove Terminal '\n'

2014-08-27 Thread Rich Shepard

  I have some rows in a table where a column attribute has a newline (\n)
appended to the string. How do I represent that newline character in a SQL
statement using psql?

  I've tried adding E'\n' to the end of the string but that doesn't work.

  Here's what I see when I select distinct for that column:

StarvationCrk+


  That's a blank line below the name.

TIA,

Rich


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] UPDATE table: Syntax to Remove Terminal '\n'

2014-08-27 Thread Ian Barwick
On 14/08/28 7:31, Rich Shepard wrote:
   I have some rows in a table where a column attribute has a newline (\n)
 appended to the string. How do I represent that newline character in a SQL
 statement using psql?
 
   I've tried adding E'\n' to the end of the string but that doesn't work.
 
   Here's what I see when I select distinct for that column:
 
 StarvationCrk+
 
 
   That's a blank line below the name.
 
 TIA,

Not sure what you mean by doesn't work; if you want a more precise
rendering of the newline character, the unicode linestyle (suggested
by Tom Lane in the previous thread) should do the trick:

postgres= \pset linestyle unicode
Line style (linestyle) is unicode.
postgres= SELECT E'foo\n';
 ?column?
──
 foo ↵

(1 row)


Regards

Ian Barwick

-- 
 Ian Barwick   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] UPDATE table: Syntax to Remove Terminal '\n'

2014-08-27 Thread Ian Barwick
On 14/08/28 8:04, Ian Barwick wrote:
 On 14/08/28 7:31, Rich Shepard wrote:
   I have some rows in a table where a column attribute has a newline (\n)
 appended to the string. How do I represent that newline character in a SQL
 statement using psql?

   I've tried adding E'\n' to the end of the string but that doesn't work.

   Here's what I see when I select distinct for that column:

 StarvationCrk+


   That's a blank line below the name.

 TIA,
 
 Not sure what you mean by doesn't work; if you want a more precise
 rendering of the newline character, the unicode linestyle (suggested
 by Tom Lane in the previous thread) should do the trick:
 
 postgres= \pset linestyle unicode
 Line style (linestyle) is unicode.
 postgres= SELECT E'foo\n';
  ?column?
 ──
  foo ↵
 
 (1 row)

And to remove the newline character you can do something like this:

postgres= SELECT regexp_replace(E'foo\n', E'\n$','');
 regexp_replace

 foo
(1 row)


Regards

Ian Barwick

-- 
 Ian Barwick   http://www.2ndQuadrant.com/
 PostgreSQL Development, 24x7 Support, Training  Services


-- 
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general


Re: [GENERAL] UPDATE table: Syntax to Remove Terminal '\n' [RESOLVED]

2014-08-27 Thread Rich Shepard

On Wed, 27 Aug 2014, Jeff Ross wrote:


You want the E in front of the entire string, not just before the \n.
select
'Use Discover: ' || E'\t' || 'Yes'  || E'\n'


Jeff,

  That did the trick. Turns out that 202 of 204 rows had the newline! The
syntax that worked:

update benthos set stream = 'StarvationCrk' where stream = E'StarvationCrk\n';

Much appreciated,

Rich


--
Sent via pgsql-general mailing list (pgsql-general@postgresql.org)
To make changes to your subscription:
http://www.postgresql.org/mailpref/pgsql-general