Re: Sv: Re: Sv: Re: regex match and special characters
От | Adrian Klaver |
---|---|
Тема | Re: Sv: Re: Sv: Re: regex match and special characters |
Дата | |
Msg-id | abb828a5-3483-c595-4316-a9ee48837e86@aklaver.com обсуждение исходный текст |
Ответ на | Sv: Re: Sv: Re: regex match and special characters (Andreas Joseph Krogh <andreas@visena.com>) |
Ответы |
Re: Sv: Re: Sv: Re: regex match and special characters
(Adrian Klaver <adrian.klaver@aklaver.com>)
Re: regex match and special characters (Oleksii Kliukin <alexk@hintbits.com>) |
Список | 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.klaver@aklaver.com <mailto:adrian.klaver@aklaver.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@[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]: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@visena.com <mailto:andreas@visena.com> > www.visena.com <https://www.visena.com> > <https://www.visena.com> -- Adrian Klaver adrian.klaver@aklaver.com
В списке pgsql-general по дате отправления:
Предыдущее
От: Andreas Joseph KroghДата:
Сообщение: Sv: Re: Sv: Re: regex match and special characters