0

utfでエンコードされた文字列には、最後にZwnj(ゼロ幅非接合子)が含まれ、データベースに格納されます。selectステートメント中にその文字を削除することは可能ですか?私はtrim()を試しましたが、機能しません。

4

2 に答える 2

2
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)
于 2011-01-01T21:49:33.070 に答える
0

replace(your_column, 'Zwnj','')あなたはtrim()の代わりに使う必要があります

于 2010-12-28T10:25:52.883 に答える