På torsdag 16. august 2018 kl. 16:32:40, skrev Adrian Klaver <adrian.klaver@xxxxxxxxxxx>:
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@[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@[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@[local]:5433 10.4 andreak=# select 'abcd'||chr(8198) ~ E'abcd\\s';
┌──────────┐
│ ?column? │
├──────────┤
│ t │
└──────────┘
(1 row)
┌──────────┐
│ ?column? │
├──────────┤
│ t │
└──────────┘
(1 row)
--
Andreas Joseph Krogh
CTO / Partner - Visena AS
Mobile: +47 909 56 963