удаление символа zwnj из строки в postgres во время оператора select - PullRequest
0 голосов
/ 28 декабря 2010

UT-кодированная строка содержит Zwnj (нулевая ширина без объединения) в конце и сохраняется в базе данных. Можно ли удалить этот символ во время оператора выбора. Я попытался обрезать (), но не работает.

Ответы [ 2 ]

2 голосов
/ 02 января 2011
CREATE TABLE test (x text);
INSERT INTO test VALUES (E'abc');
INSERT INTO test VALUES (E'foo\u200C');  -- U+200C = ZERO WIDTH NON-JOINER
SELECT x, octet_length(x) FROM test;
  x  │ octet_length 
─────┼──────────────
 abc │            3
 foo │            6
(2 rows)

CREATE TABLE test2 AS SELECT replace(x, E'\u200C', '') AS x FROM test;
SELECT x, octet_length(x) FROM test2;
  x  │ octet_length 
─────┼──────────────
 abc │            3
 foo │            3
(2 rows)
0 голосов
/ 28 декабря 2010

Вам нужно использовать replace(your_column, 'Zwnj','') вместо trim ()

...