utfでエンコードされた文字列には、最後にZwnj(幅ゼロの非結合子)が含まれ、データベースに格納されます。 selectステートメント中にその文字を削除することは可能ですか?私はトリム()を試みたが動作しません。select文中のポストグル中の文字列からzwnj文字を削除する
答えて
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)
あなたはreplace(your_column, 'Zwnj','')
の代わりに、トリム()は動作しません@ahwnn
を使用する必要があります。私はreplace(kan_text、 'zwnj'、 '')、replace(kan_text、 '&Zwnj'、 '')を試しました。クエリが実行されると、最後にパイプ記号のような文字が表示されます。 – kiranking
あなたが私たちに与えた例はzwnjでした(私はそれが何であるべきか分かりません)。もちろん、置き換えたい実際の文字で置き換える必要があります。 –
@kiranking:エスケープされた文字列リテラルを書いて、バックスラッシュのエスケープシーケンスの16進数またはUnicodeを使って文字を表すことができます。 'replace(your_column、E '\ u9876'、 '')'(Unicodeリテラルで '9876'を置き換える)のようなものです。 http://www.postgresql.org/docs/9.1/static/sql-syntax-lexical.html#SQL-BACKSLASH-TABLE – kgrittn
- 1. Javaの文字列中の中間文字を削除するには?
- 2. 文字列から大文字小文字を削除する
- 3. 文字列の真ん中の文字を正規表現で削除する
- 4. 文字列と文字列をすべて文字列から削除する
- 5. 文字列の途中から文字を置換する
- 6. Javascript - 文字列から特定の文字を削除する
- 7. バッチスクリプトの文字列から単一文字を削除する
- 8. JavaScriptの文字列から空白文字を削除する
- 9. 文字列から特定の文字を削除するR
- 10. 文字列から最後の文字を削除する(Python)
- 11. Pythonの文字列から特殊文字を削除する
- 12. javaの文字列から文字を削除する
- 13. Nyquistの文字列から文字を削除する
- 14. 文字列から特定の文字を削除する
- 15. 文字列からN番目の文字を削除する
- 16. パンダの文字列から文字を削除する
- 17. 文字列から複数の文字型を削除する
- 18. 標準Cの文字列から文字を削除する
- 19. 文字列から文字列を削除する方法
- 20. 文字列から文字列を削除するには?
- 21. 文字列から削除
- 22. 元の文字列から文字を削除しますか?
- 23. 文字列から重複する文字を削除する
- 24. 文字列jqueryから文字列を削除します
- 25. 文字列Unicode文字列から文字を削除します。
- 26. 最初の文字が文字であるまで文字列から文字列を削除するには?
- 27. Python:文字列の中のバックスラッシュを削除する
- 28. Python:文字列から文字を削除する
- 29. 文字列からランダムな文字を削除する
- 30. 文字列からNULL文字を削除する方法
これは私が探していてうまくいくものです。 – kiranking