From: | Adrian Klaver <adrian(dot)klaver(at)aklaver(dot)com> |
---|---|
To: | Andreas Joseph Krogh <andreas(at)visena(dot)com> |
Cc: | pgsql-general(at)lists(dot)postgresql(dot)org |
Subject: | Re: Sv: Re: Sv: Re: regex match and special characters |
Date: | 2018-08-16 15:13:40 |
Message-ID: | abb828a5-3483-c595-4316-a9ee48837e86@aklaver.com |
Views: | Raw Message | Whole Thread | Download mbox | Resend email |
Thread: | |
Lists: | pgsql-general |
On 08/16/2018 07:47 AM, Andreas Joseph Krogh wrote:
> På torsdag 16. august 2018 kl. 16:32:40, skrev Adrian Klaver
> <adrian(dot)klaver(at)aklaver(dot)com <mailto:adrian(dot)klaver(at)aklaver(dot)com>>:
>
> On 08/16/2018 07:04 AM, Andreas Joseph Krogh wrote:
>
> > char(2006) produces the wrong character as 2006 is the hex-value. You
> > have to use 8198:
> > andreak(at)[local]:543310.4 andreak=# select version();
> >
> ┌────────────────────────────────────────────────────────────────────────────────────────────────┐
> > │ version
> > │
> >
> ├────────────────────────────────────────────────────────────────────────────────────────────────┤
> > │ PostgreSQL 10.4 on x86_64-pc-linux-gnu, compiled by gcc (Ubuntu
> > 7.3.0-16ubuntu3) 7.3.0, 64-bit │
> >
> └────────────────────────────────────────────────────────────────────────────────────────────────┘
> > (1 row)
> >
> > andreak(at)[local]:543310.4 andreak=# select 'abcd'||chr(8198) ~
> 'abcd\s';
> > ┌──────────┐
> > │ ?column? │
> > ├──────────┤
> > │ t │
> > └──────────┘
> > (1 row)
>
> Argh, read the wrong line. Thanks for the correction. Still:
>
> test=# select version();
> version
>
> ------------------------------------------------------------------------------------
> PostgreSQL 10.5 on x86_64-pc-linux-gnu, compiled by gcc (SUSE Linux)
> 4.8.5, 64-bit
> (1 row)
>
>
> test=# select 'abcd'||chr(8198) ~ E'abcd\s';
> ?column?
> ----------
> f
> (1 row)
>
> When using E-syntax you need to double the backslash for escaping:
> andreak(at)[local]:543310.4 andreak=# select 'abcd'||chr(8198) ~ E'abcd\\s';
> ┌──────────┐
> │ ?column? │
> ├──────────┤
> │ t │
> └──────────┘
> (1 row)
Hmm:
test=# show standard_conforming_strings;
standard_conforming_strings
-----------------------------
off
(1 row)
test=# show escape_string_warning;
escape_string_warning
-----------------------
on
(1 row)
test=# select 'abcd'||chr(8198) ~ 'abcd\s';
WARNING: nonstandard use of escape in a string literal
LINE 1: select 'abcd'||chr(8198) ~ 'abcd\s';
^
HINT: Use the escape string syntax for escapes, e.g., E'\r\n'.
?column?
----------
f
(1 row)
test=# select 'abcd'||chr(8198) ~ 'abcd\\s';
WARNING: nonstandard use of \\ in a string literal
LINE 1: select 'abcd'||chr(8198) ~ 'abcd\\s';
^
HINT: Use the escape string syntax for backslashes, e.g., E'\\'.
?column?
----------
t
(1 row)
test=# set escape_string_warning = 'off';
SET
test=# show escape_string_warning;
escape_string_warning
-----------------------
off
(1 row)
test=# select 'abcd'||chr(8198) ~ 'abcd\s';
?column?
----------
f
(1 row)
test=# set standard_conforming_strings = 'on';
SET
test=# show standard_conforming_strings;
standard_conforming_strings
-----------------------------
on
(1 row)
test=# select 'abcd'||chr(8198) ~ 'abcd\s';
?column?
----------
t
(1 row)
Wonder if the OP has standard_conforming_strings='off' and
escape_string_warning='off'?
> --
> *Andreas Joseph Krogh*
> CTO / Partner - Visena AS
> Mobile: +47 909 56 963
> andreas(at)visena(dot)com <mailto:andreas(at)visena(dot)com>
> www.visena.com <https://www.visena.com>
> <https://www.visena.com>
--
Adrian Klaver
adrian(dot)klaver(at)aklaver(dot)com
From | Date | Subject | |
---|---|---|---|
Next Message | Tom Lane | 2018-08-16 15:18:09 | Re: Sv: Re: Sv: Re: regex match and special characters |
Previous Message | Andreas Joseph Krogh | 2018-08-16 14:47:15 | Sv: Re: Sv: Re: regex match and special characters |