テーブルに、などの16進値を含む文字列があります\ffffffc4
。例は次のとおりです。
Urz\ffffffc4\ffffff85dzenie zgodne ze standardem High Definition Audio
次のコードは、16進数をUTF8に変換できます。
select chr(x'c4'::int)
これは戻りますÄ
が、regexp_replaceを使用しようとすると、問題が発生します。私は以下を試しました:
select regexp_replace(sal_input, E'\\f{6}(..)',convert(E'\\1','xyz','UTF8'),'g')
ここで、XYZは8.2で提供されているさまざまなソースエンコーディングですが、返されるのは16進値だけです。
内部でchr関数をどのように使用できるかについてのアイデアはありregexp_replace
ますか?
使用したバージョン:x86_64上のPostgreSQL 8.2.15(Greenplum Database 4.1.1.1ビルド1)-unknown-linux-gnu
助けてくれてありがとう